SDL 2 backend (= Gosu 0.8.0)

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)
- [ ] Fix `cmake` for C++ compilation

For Raspberry Pi:

- [x] Get SDL 2 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)
- [x] Improve Raspbian detection: `/etc/issue` is not reliable on old installations

For OS X:

- [ ] Fix three quarters of the window being unused on a Retina Mac (-> @shawn42)
- [x] Check if `Kb0` constants are broken? (Fixed)

For Windows:

- [ ] Get C++ Gosu to work with SDL 2