Ensure `require.ensure` callback is always async

Use `setTimeout` to force the callback to always be called
asynchronously so that `require.ensure` will always return
immediately.

Also, there is no need to pass in `requireFn` as a parameter
because the callbacks will just use the closure's `requireFn`.