Only watch directories, and not single files. Also, share one
FileSystemWatcher between projects & FileFilter items.
This fixes the issue that the process runs out of file handles e.g.
when loading a .qmlproject file containing all of qt examples & demos.
Basic implementation of FileSystemWatcher was copied from
ProjectExplorer::FileWatcher - however the FileWatcher is only
for files (and not directories), and also monitors the last
change date etc.