OPENGL: Add new generic OpenGL (ES) backend.

This backend is based on ideas of the old OpenGL backend, of the Android GL
backend and of the iPhone GL backend.
SDL: Add a OpenGL SDL backend and hook it into the SDL backend.

The hooking code is nearly exactly the old hooking code. Only the OpenGL SDL
creation has been adapted since it uses a different constructor now.
OPENGL: Add OSD support.
SDL: Use OSD in OpenGL SDL backend.
OPENGL: Implement dirty rect handling.
TIZEN: Adapt to new OpenGL code.

Thanks to Chris Warren-Smith for testing this a bit.