Refactored the gl-window sources to separate the window from the windowing system