use the nextTick shim from the process module for setImmediate

So the `setimmediate` module has this really annoying feature where instead of exporting its functionality it modifies the environment to define a `setImmediate()` function which is terrible. This patch uses the `process` module's nextTick() shim instead which is well-behaved, much smaller, and well-tested in all browsers.