remove template haskell dependency in favor of cabal's CPP macro

It's possible to have gotten the wrong ghc version with the old method,
if somebody does `cabal install IHaskell --with-ghc=/path/to/another/ghc`
Fixing linting CSS/html to wrap when long code lines are used
add monoid instance for Kernel to avoid some duplication.

data-default may be prettier instead, since there isn't a canonical
mappend.
fixing tests and line numbering of code blocks
load ihaskell-* modules which depend on the correct version

I ran into a problem with old IHaskell-display packages causing trouble,
this is closer to an ideal solution.
adjust some comments so they make more sense (to me)

use LINE pragmas in the file generated for HLint

tests with hlint off

hlint working again