Add pyuv-based watcher

Current tests are suffering from some race conditions: possible tests results are

- “The change to inotify/file2 was not detected” on line 83: most common
- “Spurious change detected” at line 81 (uncommon, usually fixed by sleeping 
  before running test in do_test_for_change)
- “The change to inotify was not detected” in tree watcher test (e.g. from line 
  123) (very rare)
- All OK (uncommon).