playr-app: what playr's Rust frontends share.
A frontend draws and reads input its own way; this crate holds what it
means. [action::Action] is everything a key or a : command can do, and
[dispatch::dispatch] does it, through a [dispatch::Frontend] the
frontend implements over its own cursors and prompts. The : command
language and key bindings over a key type of its own are here too, with
the [keys] tables of the settings file, so a terminal and a GUI read the
same commands and bindings.
docs/architecture.md sets out the design.