Flush preferences only when exiting the screen.
A lot of cleanup and streamlining. Preferences are now handled from the main game class and flushed only when the game is paused or destroyed. The old variation loader code had to be completely rewritten for this and as a side effect, the FadeOverScreen is now a reuseable instance. All the user should notice of this is some speed up on slower devices because we write less to the persistant storage.