Poll directory changes before resolving start promise on Windows
Poll directory changes before resolving start promise on Windows

When watching a path on Windows, a new thread gets spawned and a
function is scheduled to be executed onto such thread. This function's
responsibility is to invoke `ReadDirectoryChangesW` for the first time
and to wake up the thread which invoked `Watcher::start`, signaling that
nsfw is ready to report events.

Previously, the main thread would be woken up _before_ calling
`ReadDirectoryChangesW`. If any event occurred before or as
`ReadDirectoryChangesW` took place, it wouldn't be reported to clients
because that API only reports changes that occur _between_ calls to it.

This commit fixes the issue by waiting for `ReadDirectoryChangesW` to
have been called before waking up the main thread. This ensures that
file system events occurring after watching has started are always 
reported to clients.

Axosoft/nsfw,Axosoft/nsfw,Axosoft/node-sentinel-file-watcher,Axosoft/node-sentinel-file-watcher,Axosoft/node-sentinel-file-watcher,Axosoft/nsfw,Axosoft/node-sentinel-file-watcher