moved apply_surface and load_image to GameEngine; added PopBackThenChangeState() to GameEngine