Move code to src/ directory, move to Haskell 4.7.

I had to remove the Matrix module, particularly because it was dysfunctional,
but also because it depended on obsolete packages (that is, those that depended
on Haskell 4.6).
Changed the style of module documentation.

Previously, I used the single-line comments for the module documentation at the
top of each file. I just moved it to a block comment, because I think it looks
nicer. There is no functional reason why.