Prevent INotify::Watchers from being leaked

Specifically when:
1. A watcher is #close'd , it should delete itself from the INotify::Notifier
   watchers hash
2. When an INotify::Notifier is #close'd, it should clears it watchers hash