Added GameStateABC, MenuState, PlayState classes

These classes represent the game states the game will switch between
Added GameStateMachine class

This class manages the game states
Added a GameStateMachine object as a data member of the Game class
Removed affixes from data members to improve code readability
Updated the Game class functions to exploit the game states