## Duskberon's Input module

Duskberon's Input module maps rather straight to [io/kbd] and [io/mouse]. We
diverge from original with Input.Available(), in which case we yield a NKC
rather than a PS/2 key code. No code in the Oberon system uses Input.Available()
for its code anyways, only for its nonzero state.

## Procedures

Read (VAR ch: CHAR);
  If a keystroke has been made since the last Read() call, yield the character
  corresponding to the key stroke. Otherwise, block until such a keystroke
  happens and yield it.

Available (): BOOLEAN;
  Yields whether a Read() call will yield something immediately.

Mouse (VAR keys: SET; VAR x, y: INTEGER);
  Poll the mouse driver for a current position/button status.

  For keys, b0=right b1=middle b2=left

SetMouseLimits (w, h: INTEGER);
  Set maximum coordinates over for mouse movement. Mouse() will never yield a
  x/y value that equals or exceeds it.
