Convert to SDL2

@fluffyfreak and I have been working on converting Pioneer to SDL2. I was intending to leave it until the new UI was connected everywhere, but Andy needed it sooner for his Oculus Rift experiments, so here it is.

Not ready yet. This is just a tracking issue. Todo:

* ~~Support `SDL_TextInputEvent` for text entry (console, `Gui::TextEntry`, `UI::TextEntry`)~~
* ~~Support `SDL_MouseWheelEvent` (wheels are no longer a kind of button)~~
* ~~Window titles~~
* ~~Something is wrong with image alpha (console, facegen, sysinfoview)~~
* ~~Mode detection/selection~~
* ~~ModelViewer keystate hack~~
* ~~Joysticks~~

And whatever else comes along.

I'm only aiming for feature parity at this point. Extra stuff that's been talked about and has been waiting for SDL2 (multiple windows, clipboard, thread priority, hires timers, `ARB_debug_output`) is out of scope.

Tag @Philbywhizz for OS X support.