Minimal tree-sitter language registry + highlight query runner.
Deliberately does NOT port Zed's language crate (22.9kLOC) — ~70% of it
is LanguageServer/Capability/diagnostics glue for LSP, which is out of
scope for every phase of this plan (see
plans/20260705-1722-zed-ui-component-enrichment/plan.md). Only the
rope+tree-sitter binding — the ~30% actually needed for syntax
highlighting — is reproduced here, written fresh rather than extracted
from Zed's source (that source is entangled with the LSP types being cut).