Move resolution confirm box to a separate game state

These changes allow us to use graphics APIs that need to free all
surfaces/textures before changing resolution.