Complete game refactoring, separating GameState from GameView, now StateMachine is fully in charge of deciding what is being drawn on screen