Fix warnings.
Add query objects.
Add query objects to README.md.
Add Graphics.Caramia.Query to Graphics.Caramia top module.
Make DrawT an instance of MonadTrans.
Make `Color` an `Uniformable` so it can be used in setUniform.
Polish Graphics.Caramia.Query.

Now we check that incompatible queries are not active at the same time.

Query results are now Int64s.

Added withNumericQuery' and withBooleanQuery' that don't return the result of
the action.
Add a query object demo that smoke tests that queries work correctly.
Advertise generalization over MonadIO.
Fix documentation typo.
Add support for primitive restart.
Fix primitive restart setting not honored.
Bump version 0.4.0.0 --> 0.4.1.0
Allow setting primitive restart anywhere in a `DrawT`.
Fix primitive restart tracking having incorrect start value.
Start using `linear` and `lens` packages.

Redundant functionality removed (Graphics.Caramia.Math and
Graphics.Caramia.Internal.Lens were taken away).

Until now I've been hesitant to introduce a `linear` dependency because it
pulls in `lens` and lens pulls many dependencies making exotic
cross-compilation (dreams) difficult (think mobile applications using OpenGL
ES). I had plans on making the library OpenGL ES compatible and using it on
mobile. `linear` is being used in some other graphics projects in Haskell at
the moment and I prefer to play nice with them.

Of course, this is quite likely to break almost any non-trivial program using
Caramia. Luckily there are not so many users yet.
Bump version to 0.5.0.0 after some rather breaking changes.
Add some newBufferXXX convenience functions.

Now you can quickly create buffers from lists, storable vectors and
bytestrings.
Use GL_ARB_buffer_storage if it is available.

There was a TODO-item on this I spotted. OpenGLRaw didn't have that extension
(which was used before) but we are with flextGL now.

The extension text suggests creating buffers with this extension may increase
performance.
Move to 'gl' library