You are given a 2D grid representing a maze where:
You can move up, down, left, or right. Each move to an adjacent cell counts as 1 step. Teleporting does not incur any extra step cost beyond entering the teleporter cell.
Write a function that computes the minimum number of steps required to reach the end position 'E' from the start 'S'. If there is no possible path, your function should return -1.
The input is provided as a list of strings, where each string represents a row of the maze.
Example:
grid = [
"S.A",
".#.",
"A.E"
]
In the above grid, the teleporter 'A' connects the cell at (0,2) with the cell at (2,0). Your function should determine the minimum number of steps required to travel from 'S' to 'E' using the available moves and teleporters.
Constraints:
Implement your solution in the programming language of your choice.