The returned function can be called as often as you like with
whatever arguments you like. If it is called again within
ticks ticks (a tick is 100ms), this call is ignored. If
it is not called again within this time, the arguments are passed
on to the delegate function. In other words, in a string of calls
less than ticks x 100ms apart from each other, only
the last of these calls actually happens.
Function that can be called often, resulting in fewer
calls to the delegate function f.
int Duration (x 100ms) to wait until calling the
delgate function.
function Delegate function to be called
ticks ticks after the last call to the retuned function.