Fixed gitignore.
Another gitignore fix.
and another...
Major changes, see below.

Context
- Implemented fixed timestep update frequency with interpolated rendering between update frames.
- Added the IState interface able to "Cache()" the previous state of child objects.

Camera
- Moved all of the camera code into it's own object.
- Fixed some inconsistencies with the mouse handling.
- Camera now runs on the updated context loop ensuring smooth motion at any framerate.

Misc.
- Numerous code cleanups.
Graphics changes and some terrain rendering, see below.

Graphics
- Moved all of the graphics code into it's own class.
- Started implementing element buffers.

Terrain
- Created a temporary terrain class that loads its data from a heightmap.