Change haskell-presentation-mode to be a derived mode

The old minor mode approach was bad as it would lose the keybindings
and normal behaviour of a haskell-mode buffer which are actually quite
useful, e.g., for using the same keybinding to drill down into the
info of yet more types.

This shouldn't break anyone's setup, in fact, it should improve it.