Move source files into directories.

This is necessary to setup compilation of the examples without
recompiling the library each time.
Cabalize.
Remove unused dependencies.
fixed merge, in favour of Toxaris cabal file