Mutable scripted-DOM provider.
ScriptedDom is the mutable sibling of serval-static-dom's StaticDocument:
a NodeId-keyed arena that implements [LayoutDom] (read) and [LayoutDomMut]
(mutate), recording each structural change as a [DomMutation] for
serval-layout's scheduler to translate into invalidation. The arena owns the
node data; JS reflectors bridge back to it by NodeId (via
script-engine-api's make_reflector/reflector_data), so the engine never
owns DOM data.
Scope (2026-05-23): structural mutation + the mutation stream. The reflector
bridge wiring and the DomMutation → serval-layout invalidation loop are the next
pass (they need the script-runtime-api host layer and serval-layout's
scheduler). set_inner_html is deferred — it needs html5ever fragment parsing.