This implements an two types:
- Efficient Tree Iterator that can be used without rooting when
possible.
- UnrootedDom that can be used while not rooting while capturing a NoGC.
We:
- introduce new methods in 'script/dom/node.rs' to get the correct
iterator.
- introduce methods in 'script/dom/node.rs' to get the unrooted children
in an 'UnrootedDom' container.
We use the new TreeIterator in 'script/dom/document.rs' Open.
Testing: WPT tests should catch this but careful review is required.
---------
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>