Fix webfont loading problems when stylesheets changed while loading

Stylesheets change causes FontFaceCache::clear(). If there are any
ongoing font downloads, that may cause two problems:

(1) The font download can be canceled, because CSSFontFaceSource, which
is a FontResourceClient, is destroyed. To prevent this, this patch makes
FontFaceSet keep a reference to FontFace while loading.

(2) Text is not refreshed because CSSFontFace::fontLoaded() returns
immediately. FontFaceCache::clear() reconstructs CSSFontFace objects,
so m_sources may not point to the source it was loading before style
changes. This patch changes CSSFontFace::fontLoaded() always calls
CSSFontSelector::fontLoaded(), regardless its status.

In the long term, we should try to avoid reconstructing FontFace on
stylesheet changes.

BUG=336476
TEST=http/tests/webfont/fontface-style-change.html

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

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