Add new Haskell compilation sub-mode

This is a compilation sub-mode tailored to GHC's compile messages with
some heuristics for supporting Cabal projects in a DWIM fashion. This is
completely orthogonal to haskell-interactive and inf-haskell.

See new "compilation" chapter in the info manual for more details.