Implement 'inkey_enabled' context manager

* add _conanical and _echo terminal state helpers and related functions.
* remove another magic bit, '27', by explicitly setting to curses.ascii.ESC
* fix for incremental decoder
* add warning for failed decodes in _resolve_multibyte
* placeholder for inkey() with docstrings of expected behavior