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.
It might be cleaner to use [`Function::bind`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) here instead of assigning `this` to another variable.