[FastTextAutosizer] Implement narrow descendant autosizing

This patch enables autosizing for blocks that are significantly narrower
than their parent's DBCAT[1]. For example:
<div width="800px">
[text that should be autosized with some multiplier]
<div width="150px">
[text that should be autosized independently] <-- ths patch handles this.
</div>
</div>

This builds on [2] and follows a very similar approach of using a
heuristic and validating that heuristic inside computeMultiplier.
The approach here differs from TextAutosizer in two ways:
1) maxAllowedDifferenceFromTextWidth is static in FastTextAutosizer
instead of changing as narrow descendants are encountered. I'm not
sure TextAutosizer's approach is a good idea yet, but we can easily
implement it as a followup if needed. For this reason, we do not
pass narrow-descendants-combined.html.
2) TextAutosizer collects narrow descendants and processes them
together. This is not possible in a single-pass autosizer and
we will need to investigate alternatives.

With this patch we pass 1 additional test, and fail 1 test that
we erroneously passed before.

[1] "Deepest Block Containing All Text".
[2] https://codereview.chromium.org/147843002/

BUG=302005

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166063 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make HTMLParserThread creation/destruction explicit

It's theoretically possible during shutdown for the
HTMLParserThread still to be running.  We've seen a
couple stacks which look like they could be caused by
this in the wild.

Now we explicitly create and destroy the HTMLParserThread object
during init() and shutdown() but lazily start the thread.

This makes will ensure both that the thread is fully terminated
before Platform::current goes away, as well as that any
attempts to access HTMLParserThread::shared() before init()
or after shutdown() would just crash on a null pointer.

BUG=338675

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

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