locale encoding fix
- enhancement: export keyboard-read function as public method
getch(), so
that it may be overridden by custom terminal implementers (x/84 telnet bbs) - bugfix: if
locale.getpreferredencoding()returns empty string or an
encoding that is not a valid codec forcodecs.getincrementaldecoder,
fallback to ascii and emit a warning.