Support for loading multiple source files simultaneously

- track source filepath for each loaded module
- raise error when different loaded files use same module name