Add FFI helpers for matrices in particular, and CFloat/CDouble instances for Element

The way I added the CFloat/CDouble instances was quite ad-hoc, expanding the peculiar type synonyms with kind! in GHCi, and replacing Float with CFloat and Double with CDouble. A nicer solution might be to add a type variable to the type synonyms in question, and so import `Ptr a` instead of both `Ptr Double` and `Ptr CDouble`. Also, it seems to me that the current implementation relies on Double and Float's Storable representation to be the same as C double/float, which might be unsafe, but seems to work anyway.

I'd appreciate a hmatrix release being made once the pull requests are accepted, I "need" these changes for a project, and don't really want to package my own hmatrix with them.