resolves "invalid calling object" in IE 9+

The window.setImmediate function was assigned directly to the
processs.nextTick method. This, however, is invalid in IE9+
http://msdn.microsoft.com/en-us/library/ie/gg622930(v=vs.85).aspx

Instead, return a function wrapper around the setImmediate call and use
apply() the arguments