Creates MenuGameState class.

MenuGameState class is designed to process the game loop while in
menus.
Engine now better behaves like StateBasedGame

Removes update() and render() override methods. Replaces render()
with postRenderState() to ensure super.render() will get called,
which will correctly call each GameState's render() method.