Filtering the `dir()` output to hide things marked with `hide_from_dir`
Allowing to hide attributes in `dir()` for specific object types
Making the `dir()` filtering work on instances too