Improved state switching

added generic State class
added Game state class
rewritten MainMenu class, so it inherits from State
added update function to ScreenManager

loops through child objects and calls their update function