Improve `setImmediate` usage.

- When possible, use `setImmediate` in workers too.
- Don't assume the existence of `Function.bind` (in case of custom `setImmeddiate` in older browsers).