DevTools: [Console] Separate height caching from willHide event

This patch introduces ViewportElement.cacheHeight() method which is
called by viewport control in appropriate time to let viewportElement
cache its height. Currently, ViewportElement.willHide() method is
responsible for height caching.

ViewportElement.cacheHeight() must not invalidate DOM. This is not
the case for willHide() method due to the console.table implementation
which removes inner DataGrid views. The bug happens because of the
"scroller securing" (see ViewportElement.refresh method) being done after
the sequence of willHide() calls.

BUG=385685
R=aandrey, pfeldman

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

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