feat(x-ocaml): add cell modes (interactive/exercise/test/hidden)
- Add mode type and data attributes (data-id, data-for, data-env) to cells
- Hidden cells: no editor/UI, still execute in linked list chain
- Exercise cells: editable (default CodeMirror behaviour)
- Interactive/Test cells: read-only via EditorState.readOnly facet
- Read mode attribute from <x-ocaml mode="..."> elements
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>