There is no version detection. If there is any vterm library, it is
used. If it is the wrong version, there will be an build error.
`libvterm.so.0.0.2` is preferred, which hopefully is compatible to
revision 740 or Ubuntu `libvterm0` version 0.1.2-2.
If no library is found, the correct one is downloaded and build.
* using `get_wch()` now and mapping most of the function keys documented
in `vterm_keycodes.h` (not num keypad)
* there are still a lot of mappings from ncurses missing (in conjunction
with modifier keys, related issue #11)
* using mutex to make sure writing to terminal client is serialized
* Output strings with unprintable characters either as a table or as
continuing string of characters; the byte value of unprintable
characters (`isprint(<character>, <locale>) == false`) is shown.
* Output readable string of `key` -> `value` pairs with an enumerated
type for the key and union type for the value.
When pressing return in `nano` the terminal received an `<CTRL>+J` instead of
the return key. `<CTRL>+J` justifies the text. But is (confusingly) actually
the key for a line feed as well? Terminal programming is not easy …
* demo app: using `SHELL` environment var or `/bin/bash` as default
* removed some debug messages
* enabled all vterm screen handlers; if not implemented there is a debug
message
* fixed and improved cursor position — was sometimes off; e. g. if
pressing backspace
* stubs for some functions required for implementing #3