Icr::KeyParser
Byte-stream → KeyEvent parser. Pure: bytes in, events out, no IO. Handles CSI sequences (arrows, Home/End, Delete), SS3 arrows (\eOA..), and multi-byte UTF-8. {nil, 0} means "need more bytes".
Byte-stream → KeyEvent parser. Pure: bytes in, events out, no IO. Handles CSI sequences (arrows, Home/End, Delete), SS3 arrows (\eOA..), and multi-byte UTF-8. {nil, 0} means "need more bytes".