Feature/add di to project

* Adds DI to the project
* Refactors many classes to not use static classes/methods
* Adds automatic handler/module loading to the startup project