Use setTimeout instead of setImmediate

This might be controversial. I tried to use this module with Browserify and Safari today, but it broke because Safari (along with many other browsers) does not support `setImmediate`.

I know this will be slower than `setImmediate`, but I see this greatest use for this module in the browser where a lightweight shim is very valuable. In Node the size of the library is less of a concern because the end users don't need to download anything.

I couldn't see a good way of supporting both without either a) building a setTimeout version for Browserify and and using the `browser` field of `package.json` b) increasing the size of the library.

Let me know what you think.