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.

The CommonJS Spec doesn't define whether this should be
sync/async but best practice says that a function either
be one or the other, but not both.