ENH: Dynamically populate top-level module categories

Closes #3399

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22707 3bd1e089-480b-0410-8dfb-8563597acbee