Two additive members on BindJSContext, for a host that loads an interpreter
building trees of its own - an A2UI renderer, say - and needs to render them
inside the runtime this context already owns.
`javaScriptContext` is the seam. Such an interpreter has to share this runtime
instance: hook state and the stored functions a handlerId resolves to live
there, so a second runtime would render correctly and then fail on the first
tap. It is also the only way back into Swift, since a tap arrives inside
JavaScript with no Swift frame beneath it.
`view(id:buildingAST:)` decodes the tree through the same path viewForName
uses. It takes a closure rather than a value so the AST is built between the
runtime's willRender and the decode - willRender resets the component-path
counters hook state is keyed by, so a tree built before it would bind hooks
to the previous pass's paths.
Nothing existing changes behaviour.