Refactoring of gl namespace. There is now a gl.desktop
All auto-generated modules still start with an underscore,
but the "public" modules (like gl.desktop) is now more
visible, and has a better name (was "gl" previously).
Codegen for gl api reflects changes of previous commit.
Also fix in tests.