Enabling scissor test once per context is enough
Add new GL function bindings & adjust indendation
Load vertex and fragment shader & combine (link) them in one program
Add a bit more spacing between logo & title
Replace fixed OpenGL pipeline with vertex & fragment shaders
Active texture unit and *keep* it activated

On a related note, set also the WRAP condition for textures.
GL_CLAMP_TO_BORDER means that the texture is not repeated or otherwise
expanded.
Calculate offset and scaling values for textures. Set GL uniforms.

Position (offset) of a texture is a multiple of that texture's size.
E.g.:

texture with width = 100 and height = 100;

position.x = 0 -> offset.x = 0.0
position.y = 0 -> offset.y = 0.0

position.x = 50 -> offset.x = 0.5
position.y = 50 -> offset.y = 0.5

position.x = 100 -> offset.x = 1.0
position.y = 100 -> offset.y = 1.0

position.x = 150 -> offset.x = 1.5
position.y = 150 -> offset.y = 1.5

position.x = 123 -> offset.x = 1.23
position.y = 321 -> offset.y = 3.21

crystal clear? :)
Remove mipmap generation

Multiple reasons:
1) causes crashes & lock-ups on Nvidia hardware
2) slow
3) ^^ -> bad performance, more cpu usage
With shaders GL_BLEND is not necessary anymore
Update at least once in constructor
Check if damage is for this window and update only then
Revert "Remove mipmap generation"

This reverts commit 37acc6b5b5e188fa7602c9328a4812d33b091471.

Conflicts:
	src/x_client_thumbnail_gl.cpp
Update *all* the uniforms
This is necessary for mipmap generation without crashes
Delete copy c'tor & assignment operator explicitely
Add some whitespace
Return *this instead of void
Replace xft c'tors with a more specific one
Keep only a pointer to XVisualInfo
Free acquired resources