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.