Fix fd leak in INotify::Notifier

Currenty, there's a leak of file descriptors in the ``INotify::Notifier.watch()`` method class when calling it with the ``:recursive`` flag. 

If a directory is opened via ``Dir.new()`` it should always be closed via ``Dir.close()`` afterwards, otherwise ``lsof`` shows one open file descriptor for each watched directory.