Documentation for the template macros

This could use some improvement, as my style of writing is far from perfect.

I also tried separating the text into sections, like it's done in [pipes](http://hackage.haskell.org/package/pipes-4.0.2/docs/Pipes-Tutorial.html), for example, but the named chunks of documentation thingie for haddock is not working properly and giving me errors.

http://www.haskell.org/haddock/doc/html/ch03s05.html

Maybe this whole thing is worth a tutorial of its own, but IMO this stuff has to be documented somewhere