Update the DFS algorithm to allow the user to select if the solver
should randomly choose the directions when traversing through the maze.
The duplicate method has been removed.
Implement a variation to the DST search algorithm to the Solver class.
In this variation, the solver randomly chooses the next direction when
it reaches a fork in its path.
Create a separate class to represent the solver of the maze.
Additional search algorithms will be implemented here.
Additional changes:
- Add public methods to mark cells as visited and to get results of
the visits.
- Renamed MazeDirections to MazeDirection.
- Renamed _num_cell_rows to _height.
- Renamed _num_cells_per_row to _width.
- Created a dedicated method to configure a cell's walls in the Maze
class.
- created a dedicated public method to draw a path between two cells in
the Maze class.