Function keys now match TERM type.

Previously we always sent xterm-compatible function keys.

Now we send function keys that match the TERM preference.

Issue: #192
Treat hardware keyboard Fn key as a modifier key.

Fixes unreported issue where pressing the "Fn" key on a hardware
keyboard sent a ^@ character. Fn is a modifier key, so it shouldn't
send any key codes by itself.

Note that this "Fn" key is a hardware key, typically used to control
whether Function keys send function codes or device-specific features.
Android Terminal Emulator also as the concept f a Fn key, used to allow
hardware phone keyboards to send extra characters, but that's unrelated
to this Fn key.)