Move OpenGL rendering semantics to current semantics.

The idea is to use OpenGL textures with the same semantics as
SDL_Surfaces are currently used. This means the OpenGL render device
will compute the texture coordinates from a SDL_Rect, just like it is
done for blitting. Also try to avoid re-binding textures that are bound
already. The latter is generally considerd good practice.

Possible caveats:
- tile set texture atlases might be too large as there is no convention
  limiting their size (yet).
- performance might be worse than handling this in front-end code. To be
  seen; correctness comes first.