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.
.ghci file interfered with Hspec.hs:

Typing the following things failed due to Prelude things missing:

    cabal repl
    :load Hspec.hs
    main
use LINE pragmas in the file generated for HLint
merge
move IHaskell stuff to src/
Merge branch 'master' of https://github.com/aavogt/IHaskell

Conflicts:
	src/Hspec.hs