Implement a StumpWM-like key handling system

This replaces the system of key handlers with one where, at any time,
there are one or more active keymaps. A binding in such a keymap can be
to a command, which will be executed, or another keymap (or a list of
keymaps) which will then become the active keymap(s).

While changing NEW-KEY-DISPATCHER and NEW-BROWSER, I also renamed them
(and NEW-PAGE-LISTENER), replacing NEW- with MAKE-, to better align with
Common Lisp naming conventions.

This is part of a possible solution for #11.