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.