StateManager

Added a StateManager object that manages the various states the game can
be in and smoothly switches between them. Try starting the game and
hitting tab!