Split interaction mode into two minor modes a la indentation

@hvr We've been wanting to do this for a while. Took an hour to split off keybindings into minor modes, tried to make the `haskell-mode-hook` documentation more straight-forward. I removed references to things like `turn-on-X` which to me seems an unnecessary diversion from the way modes are normally enabled/disabled.

Main motivation: people keep using the old mode and finding issues, that probably no one is ever going to fix.