Added the basic framework for having states. Not actually used in the main game loop yet.
Considering doing this same sort of pattern to do the controller as well because I think
that it goes well with it.

Shit may need renaming, this is just what I went with for now.