|SOURCE|
[Common::GameState]
* Added a printable name member variable and an accessor to it (Name)
[Common::GameStateManager]
* When saving and restoring state as well as pushing and popping state, the
  state's name is printed along with a status update of what is happening
* GameStateManager's Push and Pop member functions are preferred over using
  std::stack's push and pop, respectively
[Common::MainMenuState]
* This is responsible for managing the pre-game menu and setting any options
  the player wishes to customise (such as input layout, audio settings and
  graphics settings)
* For testing, the creen is blanked to green and the game will exit if escape
  is pressed
[Common::IntroductionGameState]
* The introduction sequence can be skipped if escape is pressed, unfortunately,
  this also has the side effect of quitting the game, as there is no check for
  the escape key being held down or there being any way to cancel an
  inadvertent press of the key