function _fnThrottle( fn, freq ) {
		var
			frequency = freq !== undefined ? freq : 200,
			last,
			timer;
	
		return function () {
			var
				that = this,
				now  = +new Date(),
				args = arguments;
	
			if ( last && now < last + frequency ) {
				clearTimeout( timer );
	
				timer = setTimeout( function () {
					last = undefined;
					fn.apply( that, args );
				}, frequency );
			}
			else {
				last = now;
				fn.apply( that, args );
			}
		};
	}
Throttle the calls to a function. Arguments and context are maintained for
the throttled function
 @param {function} fn Function to be called
 @param {int} [freq=200] call frequency in mS
 @returns {function} wrapped function
 @memberof DataTable#oApi