FrameView::updateLayoutAndStyleIfNeededRecursive should walk the frame tree rather than the widget tree

Prior to this CL, we walked the widget tree to find child FrameViews, which
meant we'd skip over display: none iframes (because they wouldn't exist in the
widget tree). That caused a problem when moving the layout timer to
requestAnimationFrame because we need to layout display: none iframes in order
to load plugins (yuck!).

After this CL, we walk the frame tree instead, which means we recurse into all
iframes, whether they are display: none or not. In the common case, we won't
actually do much more work because these frames won't be in need of layout.
Note that even prior to this CL we were often laying out display: none iframes
via the layout timer.

BUG=340357
R=ojan@chromium.org

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

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