externalRepresentation should call updateLayout before getting the renderer

These functions are used in tests to dump render trees into text and do an
update layout before doing that, but get the renderer() of the thing being
dumped before calling updateLayout() which means the renderer can be stale
meaning a use-after-free in a test. It also means that once the parser
starts lazy attaching some tests will fail since the element wouldn't
have a renderer yet and then the function would return an empty string.

This fixes printing/single-line-must-not-be-split-into-two-pages.html once
the parser starts lazy attaching.

BUG=276687

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

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