OSInterface: Add Cocoa (OS X native) dialog boxes

Initial efforts to modernise MilkyTracker under Mac OS X.
SDL: Refactor DisplayDevice classes
SDL: Update experimental OpenGL code for SDL2
Cocoa: Add Cocoa port and Xcode project
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.
Cocoa: Enable X/Y wheel, reduce sensitivity
Merge branch 'sdl2'
Merge branch 'cocoa'