Check for silenced path only against files

One of the reason for this change is that in the end the changes we
report to the user (i.e. in the changes callback) are files changes,
not directories changes. And also because it's simpler to implement
this way.

Note: A `only_dirs` option would have a better performance score (since
it could skip entire directories instead of scanning each file to check
if they match the `only` regex or not).