Implement text editing: cursor, selection, and keyboard input (Phase 16) master
Add full text editing support for <input> and <textarea> elements: - InputState module in DOM crate tracks cursor position, selection range, and edited text buffer per form control - Platform crate: KeyModifiers struct with Cmd/Option/Ctrl/Shift flags, mouse-down/drag handlers, NSPasteboard clipboard read/write - Keyboard input: character insertion, Backspace/Delete, Return for textarea - Cursor movement: arrow keys, Home/End, Cmd+arrows (line start/end), Option+arrows (word navigation), Cmd+Up/Down (document start/end) - Text selection: Shift+arrows extend selection, Cmd+A select all, click to position cursor, double-click to select word, click-drag to extend selection - Clipboard: Cmd+C copy, Cmd+X cut, Cmd+V paste via macOS pasteboard - Rendering: cursor caret and selection highlight in focused text inputs - Value sync: edited text synced back to DOM value attribute - 25+ unit tests for cursor movement, selection, editing, word/line navigation, Unicode handling, and change detection Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>