make sure that we always delete the shader and not only the program

Change-Id: Ia02fb20d335e2172f607f13a0de78ea666d094f5
extract shaders to own file and use shared shader loading

Change-Id: I1af7e03a3e46f3cb49162be9351ce22f54d08c52
reuse OpenGLContext in OGL canvas

The only thing that needs to be reimplemented is the pbuffer based
custom sprite rendering. We should use a FBO with a texture backend
for that. This will also save several OpenGL context switches!

Change-Id: I4aef33ae2499e44c8b5f41c296d8721cb94a37a1
add possibility to generate FBO with texture

The caller is responsible to delete the buffers. Depending on bRenderbuffer either with glDeleteRenderbuffers or with glDeleteTextures.

Change-Id: I5ccbd49862c381abf04e812765cced485a083f89
fix variable name

Change-Id: I1cfd6d59e5569177d8ad23245435073d30fe1374
reimplement custom sprite rendering with FBO

Change-Id: I8d7a54fac61a3072d4f34615e71e37c70dec4e50