text: (function(window) {
          var lastTime = 0,
          vendors = ['webkit', 'moz'],
          requestAnimationFrame = window.requestAnimationFrame,
          cancelAnimationFrame = window.cancelAnimationFrame,
          i = vendors.length;
  
          // try to un-prefix existing raf
          while (--i >= 0 && !requestAnimationFrame) {
                  requestAnimationFrame = window[vendors[i] + 'RequestAnimationFrame'];
                  cancelAnimationFrame = window[vendors[i] + 'CancelAnimationFrame'];
          }
  
          // polyfill with setTimeout fallback
          // heavily inspired from @darius gist mod: https://gist.github.com/paulirish/1579671#comment-837945
          if (!requestAnimationFrame || !cancelAnimationFrame) {
                  requestAnimationFrame = function(callback) {
                          var now = +new Date(),
                          nextTime = Math.max(lastTime + 16, now);
                          return setTimeout(function() {
                                  callback(lastTime = nextTime);
                          },
                          nextTime - now);
                  };
  
                  cancelAnimationFrame = clearTimeout;
          }
  
          // export to window
          window.requestAnimationFrame = requestAnimationFrame;
          window.cancelAnimationFrame = cancelAnimationFrame;
  } (window));