Break MainWindow into smaller classes.

o Introduce DesktopModel.
o Pull SettingsDialog into its own file.