Takes a 2D map and finds the shortest path from the start to end.
Syntax:
- S/s for starting point
- E/e for end point
- Any other character is treated as empty space
MAZE-SOLVER:SOLVE-MAZE-FROM-FILE and MAZE-SOLVER:SOLVE-MAZE-FROM-STRING are the public API. They return either NIL if no solution is found, or a list of X/Y pairs for each step in the path, including the start and end points.