Defined fns, nixed complex key bindings.

I realized that we need named/interactive functions, which I'm calling fns
(even though they're really procedures since they're purely side-effectual, but
whatever, we're following Emacs's lead here).

So now a mode annotates methods as @Fn which will result in their being bound
to a name. That name can appear in a key binding (which means key bindings are
now simple string (key sequence) to string (fn name) mappings), and the user
can call it directly, M-x style.
More fn thinking, starting on editing mode bits.

Since we're using reflection, we'll take the potentially dubious route of
extracting the name from the function name (with de-camel-casification). I was
already annoyed at how much repeat-yourself was going on. Now you just specify
a name in the keymap and the name of the @Fn-annotated method and you're done.

They have to match up and that checking isn't done until runtime, but that's
not a terribly onerous price to pay because we can validate the keymap names
all at once when the mode is loaded, so you just have to use your mode to see
if there are any errors. You don't have to trigger every key binding.

I'm not 100% sure I'll stick with the "inherit from EditingMode" approach, but
it seems reasonable for now and I'll wait for empirical data to motivate me to
do things differently.