added storage of opengl variables
these things are no longer rebuilt every draw cycle.  Added translate, reposition, and resize rectangles.  Each of these functions rebuilds the opengl coordinates automatically
added MazeMap which is parent of VirtualMaze
so we can share common code between the maze rendering and how robot stores maze in memory
made several helper functions to reduce length of main()
to make it easier to see what we are initializing at the start
added VirtualRobot which handles rendering
common code between simulator and real robot will exist in Robot class (which is looking like it's going to become an abstract class [new name AbstractRobot?])