Fix `parentNode` check to decide whether to call a moveElement UI hook.

IE8 sets an element's `parentNode` to an HTMLDocument at funny times
even when the element hasn't been added to the DOM (like if you add a
child to the element), so a check for falsey sometimes misleads us into
thinking that the element is in the DOM when it's not (and thus calling
a moveElement UI hook for an element that was never inserted).

The corresponding check on `removeElementWithHooks` is okay, because if
the element's parentNode is an HTMLDocument, we won't find a ui hook to
call (unless you for some reason added ui hooks to the HTMLDocument).

Fixes "ui hooks" test in IE8.
Update `canonicalizeHtml` list of DOMRange/DOMBackend element properties.

Fixes "ui hooks - nested domrange" test in IE8.