Use the same cache key logic for all font caches

Introduce a new CacheKey class and a cacheKey method on FontDescription
and use that instead of the three different keys in FontCache,
CSSFontFaceSource and CSSSegmentedFontFace.

This does not change any of the caching logic, only the computation
of the cache key.

TEST=Covered by existing tests.
BUG=307324
R=dglazkov@chromium.org,bungeman@chromium.org

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

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