Initial SDL2 implementation

Initial SDL2 implementation based on OSX, lots of left over debug code
and still much to do.