Added OpenAL 1.0. Misc cleanup and refactorings.

This commit introduces the first major incompatibility with LWJGL 2.X.
GLContext has been renamed to GL and the old package-private Context has
been renamed to GLContext (it's also public). Similarly, there are now
the ALC and AL classes for OpenAL and the corresponding ALCContext and
ALContext.