When a filter is active (not "All"), only the matching files, their
ancestor directories and the MF root stay; every other directory is
hidden. The ancestors come from the standard file list (name -> paths):
pysimFsFilterMatchingPaths unions the registry paths of every matching
name, and pysimFsFilterShow keeps a directory iff it matches itself
(e.g. DF.GSM for svc:GPRS) or its canonical path prefixes a matching
path. Custom files contribute their own paths; the not-loaded window
keeps directories rather than hiding everything.
Frontend 1160 tests green (+8). (Version/sw bump still deferred.)