This uses UnrootedSimpleNodeIterator in a couple of places, namely
- delete_cell_or_row
- children_changed
- move_fn
More importantly this implements upcast and downcast for `UnrootedDom`.
These methods work the same as the DomRoot methods except that they
carry the no_gc and, hence,
keep the lifetime.
Testing: WPT tests will see if this breaks something.
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>