[Layout API] Use Document::layoutViewItem() in ViewportStyleResolver

Document::layoutView() is deprecated and being removed soon. The
replacement is Document::layoutViewItem(), which routes methods
through the new block layout API.

This change cascaded through several callers but eventually
resolved with only addition to the block layout API:
LayoutViewItem::viewportSizeForViewportUnits

A few additional changes were required because LayoutViewItem has
explicit constructors, so places where we were passing nullptr
need to be wrapped in LayoutViewItem(nullptr) instead.

There are no functional changes.

BUG=499321

Review-Url: https://codereview.chromium.org/2056303002
Cr-Commit-Position: refs/heads/master@{#402962}
9 files changed