Made version string optional, condensed logic.

The `OpenGL` package can now be imported even if no OpenGLver variable
is set before the `using` call takes place. The existing if/else tree
has been replaced by a single conditional check.
Added comment explaining OpenGLver section.
Created initial module and loading macro.

With the @version macro provided, the user is now able to import a
specific OpenGL version into the `OpenGL` module's namespace. The macro
also creates exports for all of these symbols in the module, allowing
them to be easily imported into another namespace.
Fixed scope issue with version macro.

Due to Julia's importing mechanisms, it's impossible to use a builtin
like include() or require() to import code (and eval it) within the
context of a module that isn't Main.

The only path I can find around this problem is to make the same calls
that the require() function makes, but do it ourselves within the OpenGL
module context.

This fixes the issue with the `OpenGLStd` module ending up in the Main
namespace, instead of the OpenGL namespace. However, any attempt to
export these symbols throws them into the Main namespace. The current
implementation omits the export call, ensuring that this:

> using OpenGL
> @OpenGL.version "3.2"

Only ever populates the OpenGL module's namespace. It unfortunately also
prevents the use of a `using OpenGL` or `importall OpenGL` call to bring
the symbols into another namespace.

Using a custom macro for the import would resolve this, but it does mean
our OpenGL module never appears like a full, regular module, as it
doesn't export any symbols itself.

Alternatively, determining how to alter the OpenGL module so that its
exports include those of the modules we dynamically add to it would
allow for more natural behaviour.
Renamed OpenGL auxiliary module to OpenGLAux.

This prevents namespace issues with the main OpenGL module, and also
helps make the hierarchy a bit more clear.

OpenGL
  |
  -> OpenGLStd
  |
  -> OpenGLAux
Added auxiliary includes to version macro.

Within a GL version's auxiliary module (OpenGLAux), references to
OpenGLStd should now instead be references to the parent OpenGL module.
Version macro includes GLU; parity with old method.
Added "load" macro to import to current namespace.

This macro serves as a workaround, due to the behaviour of the export
keyword and the seeming inability to alter a module's exported symbols
after module creation.

It's used in the same way an "importall OpenGL" call would be, i.e.,

> using OpenGL
> @OpenGL.version "3.2"
> @OpenGL.load
>
> # OpenGLStd, OpenGLAux, and GLU symbols are now in Main namespace.
Removed version string compatibility.
Resolved merge conflict.
Actually resolved merge conflict.
change of OpenGLSTD module name

Signed-off-by: Robert J. Ennis <rje@sdf.org>