Refactor|UI|Client: Fixed game session menu issues

Architecture of the session selection menus was refactored to use
a common base class called SessionMenuWidget. Also, GameSelectionWidget
and ManualConnectionDialog can be configured to only send a signal
when the user selects a session. This way, if they are used inside
a dialog, the dialog can be closed before the action is carried out.

Sorting now affects all the session menus, and GamesDialog will close
before switching games or connecting.

GameSelectionWidget was trimmed down to only have responsibility
of the folding panels.
Fixed|Server: Crash when starting and when shutting down

ServerApp's ResourceSystem was not being constructed or destroyed
at the correct time (it has a dependency on Games). This lead to a
crash both at startup and shutdown.
Shell|GUI: Better label for checkbox