*WIP* Newui settings

I'm still working on this but I'll put it up here to elicit comments and advice.
![newsettings1](https://f.cloud.github.com/assets/2624662/423399/f7df7538-ad57-11e2-9ec9-3ba8a4a4332d.png)
![newsettings2](https://f.cloud.github.com/assets/2624662/423400/fa0d5848-ad57-11e2-9a0f-b1e5234d2260.png)
![newsettings3](https://f.cloud.github.com/assets/2624662/423402/fdca1188-ad57-11e2-9ca6-a879cbf7f428.png)
![newsettings4](https://f.cloud.github.com/assets/2624662/423403/fde4c78a-ad57-11e2-9003-95ef695fc8a1.png)
![newsettings5](https://f.cloud.github.com/assets/2624662/423404/00695548-ad58-11e2-9dd1-c96543ea624a.png)

At the moment it is only activated from the main menu screen and there is no joystick event grabber (not sure how I'm going to go about this). I've kept this separate from the old gui code so I'll probably have to implement joystick events for the new-ui system. Thoughts?

This is designed to replace the GameMenuView class. I've added a new adjustment widget and exposed it to Lua and a LuaSettings object to communicate with the Settings class. I've also expanded the functionality of the CheckBox, List and DropDown widgets.

Still to do:

* I want to check for repeat keybindings, probably best to disallow these (or ask if user is sure at least).

* Joystick support (I think I have one somewhere)

* Implement into pause menu

* Merge in #2222 for multiple bindings

* Clean up and merge in #2212 for extra bindings

* Test with various resolutions

*Possibly split the keybindings over multiple tab pages

* Comment and document (especially the Lua side of things)

* Create a few new language tokens

That's about all I can think of for now, but I welcome criticisms and comments.