This commit massively overhauls the project's structure to simplify development. Most parts are now correctly compartmentalized and dependencies are passed in a sane way rather than global variables galore xd.
This commit changes how projects are handled internally so that projects can be renamed. This commit also fixes some bugs, and removes redundant code.