Prevent INotify::Watchers from being leaked

Specifically:
1. When 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 clear it watchers hash