Tackling the EntityList slowness (#3917)
Fix #3921: Crash when loading a new map with non-empty entity selection

EntityInspector is now using weak references.
Fix #3923: GroupDialog Notebook is referenced by two different wxSizerItems at the same time
EntityList works better now, some code cleanup (#3917).
Resolve #3918: Search functionality in Entity list
Resolve #3919: Loading textures progress bar doesn't work. Could use a more abstract solution, but for now this is ok.
Add stub path controls to prefab selector.
Refactor the FileSystem interface to support lambdas.
Refactor particle loader, get rid of ParticleFileLoader.
Migrate the rest of the GlobalFileSystem().forEachFile calls.
Work towards PrefabSelector supporting absolute paths.
Traversing a random directory kind of works.
Take back the fix for #3919.
Add column-resize helper method to TreeView.
Fix #3935: Can't type into the SelectionSet dropdown box.
Fix #3936: Crash when deleting a selection containing both child primitive and parent entity
Resolve #3937: When switching to Group Part selection mode, try to keep func_static selections
Add custom changed event to PathEntry class.
PrefabSelector reacts better to folder changes. Last path is remembered. This resolves request #3901
Fix TAB event not being processed (sometimes).

In Windows, TAB events only result in a keydown event if the event
object in question has the wxWANTS_CHARS flag set. Otherwise (which is
the default for wxPanels) the keypress results in wxNavigationEvents
which are not handled by the GlobalKeyEventFilter. The specific fix for
this was to enable the flag for the status bar panels which were in
focus in the reported case.