added check for glfw

currently only 2.x is supported
first attempt at GLFW window(s)

only a single window is supported.
window destruction doesn't work yet
build [gemglfwindow]
implemented more functionality

TODO: closing!
bufferMess needs to be virtual

in order to get called
window-hints must go before window-creation
allow setting the openGL profile
use "this" as s_window() rather than bool

so we know where to send the callbacks to
callback implementations

as member methods (rather than static functions)
renamed "close" to "destroy" event to match other output-backends
use "window exposed" for winrefreshCb()

to match SDL
use 'Space' instead of ' '
document messages
properly cleanup context when calling destroyGemWindow()

also delete extroneous contexts when creating new ones
build-system multi-context support

only the code is missing :-)
don't call GLEW-stuff before calling glewInit()
re-ordered GLXwin destruction code

according to how this is done in glfw:
https://github.com/glfw/glfw-legacy/blob/master/lib/x11/x11_window.c
freeing visual after use
iterate over possible buffer-settings

when choosing a new visual, rather than calling all those
settings explicitely, we iterate over all possible settings
until we found one that works.
this simplifies code a bit.