Avoid running the descendant invalidator on subtrees with SubtreeStyleChange

Once a subtree is marked with SubtreeStyleChange we don't need to check
invalidation sets so we can avoid pushing and matching them. We also don't
need to call setNeedsStyleRecalc on any element below the one with a
SubtreeStyleChange so we can early return with false from
checkInvalidationSetsAgainstElement.

This also lets us avoid cloning styles down the tree on elments below one
where the invalidation set made us do wholeSubtreeInvalid(). My previous
patch in r171417 unfortunately made us clone all the styles down the tree
below a wholeSubtreeInvalid() invalidation set.

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

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