Allow compilation using new attoparsec and aeson

Great tool man!

I changed the type for names/modules to `Text` since `aeson >= 0.7` dropped the `ToJSON`/`FromJSON` instances for `ByteString`.

Additionally I added `TemplateHaskell` in the cabal file. This allows compilation when you have profiling enabled for all executables and libraries (see <https://ghc.haskell.org/trac/ghc/ticket/8443>).