Implement progress to NanAsyncWorker without nauv.h

Most of this is from #175, but I got rid of nauv.h