Build and solve maze
builder = Maze::Builder::BacktrackingMazeFactory.new
maze = builder.build_maze 5, 6
solver = Maze::Solver::DepthFirstMazeSolver.new
solver.solve maze
maze.print
#Implementation
Used backtracking algorithm to build and depth first search to find path
#Assumptions
Entry point 'A' and exit point 'B' are always top left and bottom right.