Starts recursive directory watch.
root directory.
Result.ok(watcher instance), or Result.error(WatcherError.PATH_NOT_FOUND / INVALID_ARGUMENT / MONITOR_SETUP_FAILED).