Add very basic local file loading

- [ ] needs better UI
- [ ] the lifecycle of loading/unloading a project should be revisited

This adds jszip.min.jz from Stuk/jszip#543a29 (dual license MIT or GPLv3) to handle the unzipping (and later when there is an editor it can handle the zipping). The UI for it is a bit clunky, not my strong suit, but if you have an idea of how to make it better I am willing to implement. The current way projects are loaded is a bit sub-par, IMO, reloading the whole page just to read the hash and create the global objects.
ugh sorry, I will switch everything to be camel case; my work convention is camel case for function names, snake case for variables and cap camel case for constructors. I just automatically fall into that.