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.

When doing the following manipulation, I get a segfault:
- Start Myst III with the software renderer
- Return to launcher
- Start Myst III with the OpenGL (Shaders) renderer
- Return to launcher
- Start Grim with the software renderer

```
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff051ff21 in ?? () from /usr/lib/xorg/modules/dri/r600_dri.so
(gdb) bt
#0  0x00007ffff051ff21 in ?? () from /usr/lib/xorg/modules/dri/r600_dri.so
#1  0x00007ffff02f29a7 in ?? () from /usr/lib/xorg/modules/dri/r600_dri.so
#2  0x00007ffff0277be3 in ?? () from /usr/lib/xorg/modules/dri/r600_dri.so
#3  0x00007ffff5b9b1df in ?? () from /usr/lib/libGL.so.1
#4  0x00007ffff5b6ccc9 in glXDestroyContext () from /usr/lib/libGL.so.1
#5  0x00007ffff7b8f3dd in ?? () from /usr/lib/libSDL2-2.0.so.0
#6  0x00007ffff7b2e229 in ?? () from /usr/lib/libSDL2-2.0.so.0
#7  0x00000000005a3c0d in SurfaceSdlGraphicsManager::setupScreen (this=0xac7560, screenW=640, screenH=480, fullscreen=false, accel3d=true) at backends/graphics/surfacesdl/surfacesdl-graphics.cpp:191
#8  0x000000000059bbfe in ModularBackend::setupScreen (this=0xa1d010, screenW=640, screenH=480, fullscreen=false, accel3d=true) at backends/modular-backend.cpp:108
#9  0x00000000004c5a44 in Grim::GfxOpenGLS::setupScreen (this=0x18a6970, screenW=640, screenH=480, fullscreen=false) at engines/grim/gfx_opengl_shaders.cpp:379
#10 0x000000000041afd4 in Grim::GrimEngine::run (this=0xf4ca60) at engines/grim/grim.cpp:290
#11 0x0000000000408fef in runGame (plugin=0xfe3b50, system=..., edebuglevels=...) at base/main.cpp:231
#12 0x0000000000409d9b in scummvm_main (argc=1, argv=0x7fffffffdd38) at base/main.cpp:477
#13 0x0000000000407c55 in main (argc=1, argv=0x7fffffffdd38) at backends/platform/sdl/posix/posix-main.cpp:45
```

I guess this is because these pointers are not being reset after their data is freed.