Add simple way to set window icon and to clear error message.
Add more restrict namespace symbol access to avoid confusing logic.

  Some extra work should be done implementing test cases to validate
more special cases, but for now ensure that one does not, by mistake
access a symbol using the wrong "namespace address" due to accessing
the inherited/bound symbol.

  This change also properly/better handle accessing symbols from nested
namespaces.
Add simple/initial OpenGL builtin interface.

  This is still mostly experimental, but implements almost full interface
to OpenGL 1.x.
  Unlike the "sdl" namespace, the OpenGL is almost identical to C sources,
with these changes:
o Instead of writing glName need to write gl.Name
o Instead of writing GL_NAME need to write gl.NAME
o There are very few modifiers, and when multiple types can be used,
  always use the one with widest precision, e.g. coordinates are
  always double and colors always float.
o The query functions (i.e. "v" suffix) check arguments and only
  accept parameters it know the output size, this is required because
  those may vary from one byte to 128 bytes, and not checking bounds
  would violate the language concept.
o Currently vertex arrays are not implemented due to the way OpenGL handles
  them making it very hard to ensure no out of bounds access happen,
  but it should be possible to keep track of the opengl commands and
  validate an out of bounds access happened.

  Simple GLU interfaces covering almost all calls was also implemented.
Missing feature is callbacks, that still need a more clear implementation
in the language (should be close to how threads are implemented, just not
using an alternate stack, etc).

  A simple example was added, that is an almost fully feature complete
reimplementation of the glxgears example from mesa demos; without
arguments to glxgears, running either:

$ glxgears

or

$ ./owl check/gears

shows exactly the same graphics.