rennis250/OpenGL.jl — pull request #11 by thusly (2014-03-02 20:35:43+00:00)
Title: Replace import logic with macros.

Please review the commit log for some descriptions of the issues I ran into in implementing this.

The primary takeaways are:

* The current implementation does not have the `OpenGL` module export its submodules' symbols, which would allow for `importall OpenGL`. Instead, a second macro is used (`@load`).
* The `@load` macro's name is temporary, I'm unsure what the best term to use would be (unable to use import or importall as they're reserved).
* The `@version` macro uses internal functions from the `Base` module to get around the limitations of the `require()` function.

Usage is fairly close to the originally decided upon implementation in rennis250/OpenGL.jl#6, aside from the @load macro in place of an `importall` call.

```julia
> using OpenGL
> @OpenGL.version "3.2" # (OpenGL namespace now populated.)
> @OpenGL.load # (Main namespace now populated.)
```

The ideal resolution would be to determine how to alter the `OpenGL` module's exports, so that it acts as a regular module after the `@version` macro. Alternatively, the changes can go in as-is, or with a possible renaming of the `@load` macro.

No updates to documentation have been mad eyet.