Implements various graph search algorithms such as breadth first search and depth first search in order to solve routes in mazes.