Moving towards a pure API via copying. This eliminates most of the need to stay in IO but introduces a lot of copying to achieve it.
Fixed typo bug in Color.hs
Documentation updates.
Updated for GHC 7.8
Added Point.hs

Adds points ala point.cpp/hpp and point.hsc. The various point types are unified via
The Point2/3 typeclass and a data family that allows some parametricity over the various
point types. Most of this is boilerplate, so it might be helpful to generate this
via template haskell instead of doing it all by hand. It's very error prone.
Switched CVElemT into a closed type family.

This would have been useful a long time ago, but in any case the change
is here now. This makes this library require GHC7.8.
Update README.md
Removed unnecessary extensions from Mat.hs
Simplified many function parameters.

The introduction of closed type families in GHC 7.8 allows the instance
of the CVElement type class to be chosen by the library instead of by the user.
This is done by passing the appropriate Proxy value to the cvElemType function.
ScopedTypeVariables was added to allow the type checker to unify the channel
and element type in the function type with the channel and element type in the
manually specified type of the Proxy value.
Tracking Matrix size info by types.

Added Nat type parameters to Mat to track row and column size info. This makes matrix algebra
operations type safe. Will soon add type safe indexing.