Decouple FontFace and FontFaceObserver to make testing easier.
Abstract CSSFontFaceRule so we hide all the browser craziness.