SDL: Port to SDL2.

First stages of porting MilkyTracker to SDL2, plus several minor
enhancements along the way. Please see notes in each individual file.
Requires X-Y mousewheel support in core MilkyTracker files, see
following commit.
Add X-Y mousewheel scrolling support

This commit adds horizontal scrolling to all controls with horizontal
scrollbars for users of trackpads and mice with scrollballs etc.
Currently only the SDL2 port supports this but changes have been made
so that Carbon and Windows should still compile with this patch.
Feedback from users with various mice/trackpad devices would be
helpful. This patch was tested with a MacBook Pro trackpad using the
SDL2 build.

There is common ground between ListBox/PatternEditor both axes and
SampleEditor/EnvelopeEditor horizontal, but I’m not sure of a good place
to put the code so that the different classes can share it.
Update autoconf for SDL2

Also small update to SDL_Main.cpp.

Now builds and runs successfully on OSX.
OSX: Update Xcode project for SDL2
SDL: Use system mouse cursors by default
SDL: Cleanup cursor code, remove custom cursors
OSX: More Xcode project updates for SDL2
SDL: Reintroduce partial render updates & scaling
Add 5 new customisable colours
SDL: Use exit codes from headers
SDL: Fix misuse of GetRenderer, improve error handling
Merge branch 'sdl2'
Merge branch 'color-prefs'