Move innerHTML and outerHTML to Element

Per the DOM Parsing specification, innerHTML and outerHTML should be
available on Element, not HTMLElement. Since HTMLElement and SVGElement
are the only interfaces that inherit from Element, the only Web visible
difference should be that innerHTML and outerHTML are now available for
SVG elements.

For <svg>.innerHTML = "<!-- svg elements here -->" to insert elements
with correct namespace URI, one adjustment has to be made to the tree
builder step of the html parsing algorithm. The changes are described in
the spec change <http://html5.org/r/7768>. The new concept of
'adjustedCurrentNode' is used when processing and when deciding to
process foreign content and makes sure that parsed elements go into the
correct namespace.

Some layout tests that (perhaps accidentally) use innerHTML and
outerHTML on SVG elements are adjusted slightly.

BUG=311080

Review URL: https://codereview.chromium.org/44333002

git-svn-id: svn://svn.chromium.org/blink/trunk@160869 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Document::recalcStyle should check isActive()

Entering recalcStyle on a Document that is being detached is bad news,
don't let this ever happen. This was the reason that my patch that made
Document.cpp stop using confusingAndOftenMisusedAttached() was reverted.
The Pepper bindings were causing a recalcStyle during page tear down.

Review URL: https://codereview.chromium.org/47923010

git-svn-id: svn://svn.chromium.org/blink/trunk@160870 bbb929c8-8fbe-4397-9dbb-9b2b20218538