added GameState interface and GameStateMainMenu
addMainMenuObserver allows adding an observer to the embedded main menu instance
Integrated GameStateMainMenu