Windows support

This PR ports node-pathwatcher to Windows without changing the API.

Windows doesn't support watching files, so file watchers are implemented by watching their parent directories (this is also how libuv and Chromium did), and multiple watchers to the files under the same directory would share the same HandleWatcher.