Gently simplify UpdateGame.
Delete unused QuickDialog2 function.
Eliminate CreateButton2 and friends.
Remove unused SetNewButtonTextures function.
Don't provide UI resources as PNGs.

Eliminates ugly special-casing code that catered to this approach, as well as providing some theoretical performance improvement (as dds should be substantially cheaper to decode than PNG)
Exterminate CreateVertScrollbarFor2.
Remove unused SetCurrentSkin2 function.
Deduplicate some code in CreateDialogBrackets
Remove unused font variable.
Localise some variables
Use closures to simplify rollover event creation.
Factor out label-creation logic.
Don't reference a zillion times during CreateElement.
Eliminate Combo2

Combo2 was a near-exact copy of Combo.

It seemed that the goal of Combo2 was to prevent the opened list from showing a large blank space at the bottom. That's probably a bug in Combo, but these parameters work around it quite effectively. Maybe someday we'll fix GPG's bug.
Remove unused calc_balance.lua
Eliminate BitmapCombo2

BitmapCombo2 was a near-copy of BitmapCombo that seemed to exist soley to allow the coloured box to be stretched to fill the whole control.

Since the BitmapCombo class already special-cases the colour-selection case, let's migrate a simplified version of the necessary evil hack into it and throw away the huge amount of duplicated code.
In any case, there was only one changed function in BitmapCombo2, so if this solution is unacceptable we could definitely rephrase BitmapCombo2 to be a lot shorter (just replace the one function).

Still, this kills a ton of code and doesn't affect the UI. The only real downside is that using a BitmapCombo to create a colour selector of a different size will fail: you'll need to come up with a cleverer solution to this problem first.