Replace full style recalc with render style cloning when possible during style invalidation.

It's necessary to update the RenderStyle object associated with each element in the style
invalidation chain from an element that had its style recalced up to the root element that
was mutated and caused style invalidation. Otherwise style sharing may incorrectly conclude
that styles can continue to be shared all the way down.

Previously this was done by recalculating style on all of the elements along the chain. Now
just clone the render style in cases were we know that style recalc is not necessary.

BUG=335247

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

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