Parse most xterm-style function key sequences.

Notably, Shift- keys are not parsed.
edit: Use the tip to inform reader errors
edit: Move Key into separate file
edit: Remove reader.readAhead
edit: Save modifiers as bitmasks, not bool members
edit: Fix Alt-[ parsing
edit: Fix an error not being returned