Creates a new Watcher instance.
The watcher is ready to use immediately; call add to start watching paths.
static Future<Watcher> create() async { return Watcher._(); }