[Font Load Events] Implement the remaining SetClass operations for FontFaceSet

This patch adds add(), clear(), and delete() methods to FontFaceSet.
FontFaces added by add() method are "non-CSS-connected"; they are placed
after the "CSS-connected" (generated by @font-face rules) font faces in
the font matching ordering [1]. The clear() and delete() removes only
non-CSS-connected font faces [2].

FontFaceSet has the list of non-CSS-connected font faces added to the set.
When CSSFontSelector is reconstructed, addFontFacesToCSSSegmentedFontFaceCache()
method adds its non-CSS-connected faces to the new CSSSegmentedFontFaceCache.

[1] http://dev.w3.org/csswg/css-font-load-events/#document-font-face-set
[2] http://dev.w3.org/csswg/css-font-load-events/#set-modifications

BUG=53213
TEST=fast/css/fontfaceset-set-operations.html

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

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