Text Autosizer: optimized hash-based second pass

Implement an optimized second pass postprocessing step to autosize stale
clusters for consistency. This extra postprocessing is needed to make
previously non-autosized clusters consistent with other similar clusters
which have been autosized.

To achieve this efficiently a number of new data structures are
introduced, e.g. hash->multiplier map, hash->non-autosized-clusters and
a vector of hashes to autosize during second pass. The introduction of
hash->multiplier map is a substantial change ideologically, however in
practice does not result in significant impact on top-2000 websites.
Special cases will be handled separately by tuning the hashing function.

Preliminary timings indicate this significantly improves performance as
opposed to naively walking the whole render tree once again. Compared
with the old non-hashing approach this algorithm incurs a small overhead
for some websites (e.g. bbc.co.uk, cnn.com) and tends to be slightly
faster for forums, blogs and some wiki pages.

BUG=334228

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

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