edwin: Reworked get-console-input-operations.
Fixed the loop(s) to NOT block when incomplete-pending. They must
busy-wait for half a second. Thus the command key prefix ESC is
correctly echoed.
Also followed the example of get-xterm-input-operations, using
set-interrupt-enables! to implement an atomic section within which the
Edwin thread can test all event sources and block iff they are all
empty. Thus ONE loop tests sources and matches special keys, and uses
the new procedure %channel-read, a version of channel-read that can be
unblocked by an interrupt or process status change.