This is a straightforward cleanup of the GUI GameSetup:
- 'Controls' class to 'Controllers', because:
- they were closer to MVC-parlance controllers
- We already have 'GUI COntrols' for the dropdowns and such and this got needlessly confusing.
- Rename GameRegisterStanza into LobbyGameRegistration, and make it explicitly a controller
- Rename GameSettingsFile to PersistentMatchSettings & move it to its own folder (since it could be reused independently of the controllers < I'm somewhat doubting whether this is really useful but it doesn't seem to hurt)
- Remove the StartGameController & move launchGame to the GameSettingsController - this seems to make more sense to me, and avoids a somewhat confusing handler.
- the GUI Object "setupWindow" was actually the GameSettingsPage, fix this
- the LoadingPage was showing the GameSettingsPage -> in the current code, it makes more sense to have both handle their own visibility.
- Make the NetMessages class independent of other GUI stuff, so that it can be reused by other code. Clean up the GUI object.
I think there's still a bunch of things TODO:
- The Chat panel should really be moved into its own independent thing -> we want it to be reusable without bringing in the whole gamesetup.
- sound notification has nothing to do where it is
- (for a different diff) I think the Settings themselves are organised weirdly: doing it by 'type' makes no sense, IMO they should be in folders per Tab instead.