refactor partially done to pushing code out of pathvisio top-level namespace
refactoring largely complete for moving code out of pathvisio ns into lower-level namespaces