[ModuleManager] Update of module manager to V2
Improvements include:
- ModuleManager is no longer required to be a singleton
- Module injection is done one time at startup
- Old code for modules id has been removed
- Removed limit on modules inserted
- One time dependency detection and failure if dependencies are not satisfied
- Removed insert/get phases
- Added dependency tracking and the ability to print them as a graph
Edited by Davide Mor