[FastTextAutosizer] Add clusterHasEnoughTextToAutosize

This patch adds FastTextAutosizer::clusterHasEnoughTextToAutosize which
prevents blocks with small amounts of text from autosizing
(e.g., copyrights, footers).

The way this is implemented is similar to TA::clusterShouldBeAutosized
where each character is assumed to be 1em wide, and clusters with width
less than 4 lines of text are not autosized.

This patch uses toRenderText(descendant)->text().length() instead of
TextAutosizer's toRenderText(descendant)->renderedTextLength() because
the linebox tree has not yet been built for descendants of the block
we are inflating. Because this code is intended to prevent autosizing
for single-line copyright lines / headers, I think the text().length()
approximation will not cause issues.

This patch lazily computes the text width using FTA::textLength(Cluster*)
and caches the result on Clusters as an optimization.

With this patch we pass 1 additional test.

BUG=302005

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

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