SDL2 backend (= Gosu 0.8)

This is a work in progress on the `sdl2` branch.

- [x] Basic windowing support
- [x] Prevent main loop from eating 100% CPU when vsync is not slowing things down
- [x] Aspect-ratio preserving fullscreen mode
- [x] Shrink window if necessary
- [x] Adjust mouse position when any of the two above things happens (setTransform?)
- [x] Keyboard input
- [x] `button_id_to_char`
- [x] `char_to_button_id`
- [x] Basic TextInput implementation
- [x] Mouse input
- [x] Play around with `setMousePosition` to see if it works as expected
- [x] Gamepad input (up to four)

For Linux in general:

- [x] Adapt `extconf.rb` and other files to use the SDL backend
- [x] Figure out how to do a `--pre` gem
- [x] Ship Linux gem (0.8.0-pre1)

For Raspberry Pi:

- [x] Get SDL2 to compile and open an OpenGLES window
- [x] Change most instances of `GOSU_IS_IPHONE` to `GOSU_USE_GLES`
- [x] Get video to show up on Raspberry Pi
- [x] Ship another gem (0.8.0-pre3)

For OS X:

- [ ] See how to best provide precompiled gems. Everything else sucks :( (https://github.com/luislavena/rake-compiler?)
- [ ] Fix three quarters of the window being unused on a Retina Mac (-> @shawn42)
- [ ] Check if `Kb0` constants are broken?

For Windows:

- [ ] Everything :(