function simpleBindShim(thisArg, func) {
    return function () {
      func.apply(thisArg);
    };
  }
The cancelAnimationFrame function, with vendor-prefixed fallback. Does not
fall back to clearTimeout as some platforms implement requestAnimationFrame
but not cancelAnimationFrame, and the cost is an extra frame on onRemove.
MUST be called with window as thisArg.
@type {function}
@param {number=} requestId The id of the frame request to cancel.
@private