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.