WIP: Adding support for SDL2

This is WIP of SDL2 support. Just install SDL2 libraries, configure should detect first SDL2.
There is some issue with texts for OpenGL for some cases for Grim engine, I don't know what is source of it.
It's not tested very well, I would like others look into code and try runtime. For my case in OS X I'm not able run shaders, it seems I have some compatibility issues. I have OpenGL 3.3 with shaders 3.3.
I had to change version from 1.30 to 1.40 in shader.cpp to able shader compiled (tried 3.30 too), but still I got black screen.
So comments and suggestions are welcome.

A tiny bit of reordering here would reduce the amount of macros. How about moving SDLK_CAPS_LOCK above or below Numlock and Scroll-lock?