Add phone-driven keyboard input to the companion app's live session view.
Tapping the terminal raises the software keyboard; an accessory bar adds
Esc, Control-C, Tab, and arrows, and expands to sticky Control and
left/right Option dead-keys, function keys, and Home/End/PgUp/PgDn/Del.
Protocol: new sendKey message (revision 10, keyInputRevision). The phone
shows the keyboard only when the mac advertises support, so an older mac
never leaves dead keys.
Mac: injectSynthesizedKeyEvent runs the synthesized event through the
session's own key path (accept-gate, profile key bindings, key mapper),
so control/option encodings honor the profile (per-side Option behavior),
special keys honor cursor/keypad/CSI-u key-reporting modes, and a tap
delivers a matching key-up under Kitty report-all-event-types. Key codes
come from the active keyboard layout so input round-trips on non-US
layouts; characters with no single-keystroke mapping are written
literally. Broadcast to split panes is suppressed while injecting. The
streamed frame now draws a focused (filled) cursor.
Sends are serialized on the phone so bursts keep order.
Release notes in Companion/docs/notes.txt.