Don't build gch files anymore. Takes longer and messes up dependencies
This prevents shader.hpp to be rebuilt
Fix indendation
Move variable up in file
Implement subdirectory Makefile handling properly
Move stringifier from aux to shader subdir
It's not necessary to do this twice
Clean up properly in gl::~context
Replace glXMakeCurrent with glXMakeContextCurrent
Use m_rectangle for window creation
Initialize GL shader & programs after window was mapped

Apparently GL shader & programs are not created if the window is unmapped.

See also here:
> http://newsgroups.derkeiler.com/Archive/Comp/comp.windows.x/2006-08/msg00055.html

Solution: map the window and use an additional (*sigh*) flag to see
whether the context needs to be initialized with shader programs.
Configure the thumbnail window right after mapping it
Update glViewport only if the window has changed
Use context drawable (can be different)
Revert "Configure the thumbnail window right after mapping it"

This reverts commit 254791204506f4fe64e549f069ef1e3c138223d5.
Call show() first before update()

Now that show() does the actual gl context initialization, this is
crucial.
Remove some whitespace
Use proper brackets
Remove superfluous function call