Replace caller function with setTimeout since setTimeout allows last arg...

...ument to be omitted.

Technically, if we call `nextTick` with 2 arguments (where the last one is not `0`), this would not be identical, but this *might* improve performance.

Due to the potential regression, we might not want to merge this. Your choice :).
I think this would be fine.  I really like things to be more declarative.  Also, wrapping will guarantee that there is no chance of passing in some random delay.

I am assuming all unit tests pass?  We can merge this.