updateStyleForNodeIfNeeded should be Shadow DOM aware

updateStyleForNodeIfNeeded was not traversing through shadow hosts and was being used
as a fast path for Element::offsetWidth which meant that a style change on your host or any
of their ancestors would not get applied in some cases if requiresLayoutToDetermineWidth
was false.

This was a regression caused by http://src.chromium.org/viewvc/blink?revision=153074&view=revision

R=tonyg@chromium.org,eseidel@chromium.org,ojan@chromium.org

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

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