refactor: make the node-mutating Document API crate-private

Every `create_*`/`set_*` that builds or mutates a node is now
`pub(crate)`, so the rule that only base elements touch `Document` is
enforced by the compiler rather than by convention. The public surface
keeps the document lifecycle and the read-only queries that hosts and
tests need.

That surfaced dead API: `set_shadow_child` had no callers at all, and the
manual slot/shadow constructors are only reachable from the inspector test
that covers slot rendering. `sized`'s width and height setters were dead
because the props were build-time only; they are reactive props now, which
`#[component]` supports for any `Option<Prop<T>>` prop — optional, and
still assignable from a plain value or a signal.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017W8YfdzDmZcR8A76jRjvZY
033ea99da6BE3 Agent committed on 9/11/2026, 3:02:59 AMparent0a35974
13 files changedLine totals unavailable