Refactored code

Refactored most of the codebase to make the system more modular.
Implemented a caching system and added the ability to install Presets.
Fixed first run wizard