Game State Manager

Added a GameStateManager class, which manages and handles game states,
to allow for easy and global switching between game states. Currently
only utilises the Game class as the only possible active GameState. Game
now subclasses the new class GameState.