refactor: split up visualization, cleaned up code, and allowed the user to run hp model directly into hook
Did some cleanup:
- We had one big file earlier, this is now split into relevant .cpp and .h files
- Stuff like input, spheres, shaders, GUI etc has been split
- A user can now initialize an empty visualization, but a hook has also been added, allowing it to be called with a HPMODEL, such that we cna viualize folds directly from other files
- Did some nice cmakelist.txt stuff, to make it easier to run on mac and windows without much change