function throttleTick(functionToThrottle, minimumInterval, optionalContext) {
  var lastTime;
  if (optionalContext) {
    functionToThrottle = functionToThrottle.bind(optionalContext);
  }
  return function (time, delta) {
    var sinceLastTime = typeof lastTime === 'undefined' ? delta : time - lastTime;
    if (typeof lastTime === 'undefined' || sinceLastTime >= minimumInterval) {
      lastTime = time;
      functionToThrottle(time, sinceLastTime);
    }
  };
}
Returns throttle function that gets called at most once every interval.
Uses the time/timeDelta timestamps provided by the global render loop for better perf.

@param {function} functionToThrottle
@param {number} minimumInterval - Minimal interval between calls (milliseconds).
@param {object} optionalContext - If given, bind function to throttle to this context.
@returns {function} Throttled function.