Added Maze Class and Documented Errything

- Added a Maze class. Instead of the generator returning just the ID
map, it now returns a Maze instance.
- Documented everything in MazeGenerator.cpp
- Some more cleanup and optimization in the MazeGenerator
- Redid the complexity arg again to be logarithm based. Needs work.
- Instead of debug drawing, the maze is now properly passed to the
level, meaning the player can move around and whatnot.