NanAsyncWorker: Support intermediate callbacks to main-thread while NanAsyncWorker is running

This pullrequest adds two new public API functions to NanAsyncWorker:

* ```CallIntermediate(void *data)``` can be called from the WorkerThread

* ```HandleIntermediate(void *data)``` will be called after each call of CallIntermediate() on the MainThread. This method needs to be overwritten in order to do something useful. The default implementation does nothing.

I'm currently working on porting this patch to 0.11, 0.8 and 0.6.
What @bnoordhuis said. You'll need to run `uv_close()` on this.