SDL: Allow toggling fullscreen/windowed mode

Currently if you launch SheepShaver or BasiliskII in fullscreen mode or windowed mode, you stay in that mode until you quit the emulator. On OS X this is especially bad: since fullscreen SDL gives no way to access the host OS, you're stuck in SS/B2. This patch allows you to use Ctrl-Return to toggle between fullscreen or windowed mode.

Sorry if it's a bit of a monster patch, here's a breakdown:
* The first 3 commits fix a few bugs that were getting in my way:
 * The preferences parsing had some bugs that caused intermittent crashes
 * Mouse-grabbing (Ctrl-F5) was unusable on OS X
 * The cursor is invisible in fullscreen mode on non-OS X: https://github.com/cebix/macemu/issues/26
* The next 3 commits remove some obsolete code
* The next 11 commits merge driver_window and driver_fullscreen into one. This lets us switch modes, without destroying the framebuffer that the emulated OS is using. It also cleans up a lot of duplicated code.
* The last 4 commits actually enable fullscreen/windowed toggling.

I managed to rebase so it's pretty clean, I think each commit clearly makes sense in sequence. Thanks for taking a look!