Move most key defs to hooks

All key definitions that aren't used for implementing a particular, odd
user interface (say, in the prover) or that are used in more than one
sub-mode are moved to hooks. This is to make it easier to customize the
keybindings in idris-mode (e.g. for implementing evil support) and to
help keep bindings in sync across the various sub-modes. For instance,
the documentation lookup commands had become inconsistent.

Fixes #191.