Explicitly specify title for keymenu

Ensure that title is specified as a keyword argument rather than a
positional argument when invoking keymenu - we are about to introduce a
"blurb" argument and it's going before "title" for consistency with the
menu class.
Re-vamp menu classes

Make menu and keymenu classes more consistent in arguments and usage.

Add a helper function "automenu" that chooses between menu and keymenu
based on the number of options, using keymenu where possible.