Only traverse the ShadowRoots once during recalcStyle

Element::recalcStyle called ElementShadow::childNeedsStyleRecalc and needsStyleRecalc
both of which traversed all the ShadowRoots before it decided to traverse the
list of ShadowRoots again. ElementShadow::recalcStyle also called recalcStyle
on each ShadowRoot even if it didn't need it which meant we'd walk all the children
of every ShadowRoot on an Element as soon a single one needed a style recalc.

We can delete a bunch of code, remove the template from shouldRecalcStyle, and
stop doing all this extra traversing by merging the loop into Element::recalcStyle.

Review URL: https://chromiumcodereview.appspot.com/19962003

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