code: function FontLoader(fontFamiliesArray, delegate, timeout) {
  		// Public
  		this.delegate = delegate;
  		this.timeout = (typeof timeout !== "undefined") ? timeout : 3000;
  
  		// Private
  		this._fontFamiliesArray = fontFamiliesArray.slice(0);
  		this._testContainer = null;
  		this._adobeBlankSizeWatcher = null;
  		this._timeoutId = null;
  		this._intervalId = null;
  		this._intervalDelay = 50;
  		this._numberOfLoadedFonts = 0;
  		this._numberOfFontFamilies = this._fontFamiliesArray.length;
  		this._fontsMap = {};
  		this._finished = false;
  	}
docs: FontLoader detects when web fonts specified in the "fontFamiliesArray" array were loaded and rendered. Then it
  notifies the specified delegate object via "fontLoaded" and "fontsLoaded" methods when specific or all fonts were
  loaded respectively. The use of this functions implies that the insertion of specified web fonts into the
  document is done elsewhere.
  
  If timeout (default 3000ms) is reached before all fonts were loaded and rendered, then "fontsLoaded" delegate
  method is invoked with an error object as its single parameter. The error object has two fields: the "message"
  field holding the error description and the "notLoadedFontFamilies" field holding an array with all the
  font-families that weren't loaded. Otherwise the parameter is null.
  
  @param {Array}     fontFamiliesArray       Array of font-family strings.
  @param {Object}    delegate                Delegate object whose delegate methods will be invoked in its own context.
  @param {Function}  [delegate.fontsLoaded]  Delegate method invoked after all fonts are loaded or timeout is reached.
  @param {Function}  [delegate.fontLoaded]   Delegate method invoked for each loaded font with its font-family string as its single parameter.
  @param {Number}    [timeout=3000]          Timeout in milliseconds. Pass "null" to disable timeout.
  @constructor