Revert of Call Element::rebuildLayoutTree from Document::updateStyle directly (patchset #33 id:640001 of https://codereview.chromium.org/2473743003/ )

Reason for revert:
Reason for revert is: https://bugs.chromium.org/p/chromium/issues/detail?id=695950

Original issue's description:
> Call Element::rebuildLayoutTree from Document::updateStyle directly
>
> This patch changes the callstack in Document::updateStyle to call
> Element::rebuildLayoutTree after Element::recalcStyle instead of
> from it.
>
> It also adds helper functions needed to perform Layout Tree Construction:
> 1. ContainerNode::rebuildDescendantLayoutTree()
> 2. Element::rebuildShadowRootLayoutTree()
> 3. Element::reattachPseudoElementLayoutTree(PseudoId pseudoId)
> 4. ShadowRoot::rebuildLayoutTree()
>
> It also changes the setting/getting of the (Child)NeedsStyleRecalc
> and (Child)NeedsReattachLayoutTree bits to match this pattern.
>
> BUG=595137
>
> Review-Url: https://codereview.chromium.org/2473743003
> Cr-Commit-Position: refs/heads/master@{#451987}
> Committed: https://chromium.googlesource.com/chromium/src/+/8b6c7b7ce5a36d8eda49dd6e60c5e7c8f5c7277f

TBR=esprehn@chromium.org,rune@opera.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=595137

Review-Url: https://codereview.chromium.org/2729453002
Cr-Commit-Position: refs/heads/master@{#453853}
16 files changed