New notion of what a "key" is (for key events).
It is a Key object, which can be compared to strings (e.g. 'A',
'Shift', 'Escape') but also allows comparison with the int ordinal,
so e.g. a space key is equal to 32.
Docstring (motivation) for new key constants)
Made keys more complete (added Home, End, Insert)
and applied this to the three current backends.