Add dynamic module loading

Loading is triggered by request for loaded/loadable instances
New instances() classmethod provides list of all instances of a class
PEP8+pylint cleanups