Rewrite key input

Replace type/key pair with single int. Lowest bits are used to store
unicode codepoint or special key such as F1. Higher bits are used for
modifiers ctrl, meta and shift.

Key read from terminal is converted to more logical internal
representation. Most control characters are converted to MOD_CTRL | CH
where CH is "C" for ^C. Carriage return is converted to newline.

Remove special keys sleft, sright, sup and sdown. S-left etc. can be
used now.

Add new key aliases enter (^M) and tab (^I).
M-key support for non-ascii characters

For example M-ä works now.
Add keycode for S-tab and bind it to "shift -- -1"