Use nextTick to avoid extremely deep stack traces

Sometimes the preprocessors and compilers call their callback
synchronously. In those cases, async.eachSeries will recurse
synchronously, and the call stack will grow very large.

Also see https://github.com/caolan/async/issues/75#issuecomment-13072674
and https://github.com/caolan/async/issues/173#issuecomment-8018585.

Incidentally, this cuts initial build time in half.