Before this patch, when a glyph for the character to be rendered is not
in the matched @font-face, glyph from other @font-face (with different
style) in the family or system font with the same name were used as fallback.
This behavior does not follow the font matching algorithm
(http://www.w3.org/TR/css3-fonts/#font-matching-algorithm):

"6. If no matching face exists or the matched face does not contain a glyph
    for the character to be rendered, the next family name is selected and
    the previous three steps repeated. Glyphs from other faces in the family
    are not considered."

This patch fixes the issue by changing CSSSegmentedFontFace to represent fonts
of single font traits. This also fixes a bug that the browser downloads fonts
for unused styles.

BUG=261029,226849
TEST=fast/css/font-face-character-fallback.html

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

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