Mop up some UI code

Simplifying the logic for special-casing singleplayer.  Some UI controls should
not be visible in skirmish mode. Previously, CreateUI() would conditionally
create those controls and then code that refers to those would have to keep
checking if the UI element they want to play with exists.  With this patch, we
unconditionally create UI controls but conditionally *show* them. This looks no
different, but means we can optimise away a large amount of rage-inducing "if
GUI.something then..." checks.

This patch also makes the creation of label textfields less repetative by
moving the SetDropShadow call into the UIUtils utility function (and in some
cases optimising away redundant explicit calls to SetFont/SetText immediately
following CreateText (which alrady supports setting both of these things)).
Simplify ping-colouring logic
Remove code duplicated in a botched merge
Simplify skinning logic

Closes #242
Remove load/save list buttons from the mod manager

The feature these buttons provide doesn't exist (they have no click listeners,
they're just two disabled buttons)

Closes #258
Fix various tooltips

Closes #259
Start setting the description
Condense flag designation logic
Clean up the rules display
Default map version to 1

Closes #261
Make the large map preview less pixelated

... And stop rebuilding it in UpdateGame!