WIP on refactoring the APIs.

Moving base functionality into the `macrogl` source directory.
Instead of having WebGL and OpenGL commons in `macrogles` source
directory, we now have `macrogl` source directory.
Additional functionality is moved into `macroglex` -- the extended
API layer.
I think this is more natural.

Then, compute shader functionality (OpenGL 4.3) is moved into
`macroglex` source folder. You can see that `AttributeBuffer`'s
`computing` calls now use `Macroglex` API -- the extended API layer.

Refactoring `MeshBuffer`s to the new API model.

EDIT: I refactored `Program` and `FrameBuffer` as well. As it turns out, having `Token` wrappers is problematic since it means that calls like `glGet(GL_CURRENT_PROGRAM)` would have to instantiate `Token` objects. This is something we want to avoid.
I've refactored `Token` objects to be just type aliases for `Int` in the `api-opengl`. The `api-webgl` version can define these aliases to be specific WebGL objects.

Take a look at the code, gimme an LGTM, and I'll merge it in.

Review by @joelross @svreber @inmost-light.