Add Handle.setFinalizer and Context.$malloc

Handle.setFinalizer is a JavaScript function that is called when the
Handle is destroyed. Very useful for malloc.

In fact, I've added a new function Context.$malloc that does this
automatically, as well as added setFinalizer to Context.$mallocType.
Add functions from unzip.h
Add minizip.js, WIP on full implementation
Fix bugs in minizip.js

* Copy minizip.js to the out directory so it can be referenced
* Remove uses of promises. minizip now uses a callback based API
* All handles are named h_*
* Change zip.js to use minizip.js
Fix a couple of broken calls to setField

I forgot to pass the struct handle that was being modified.
Remove zip.js and use minizip.js directly.

Also add promise-based API to minizip.js
WIP
Update to new context-based functions
Update minizip.js after new setFinalizer change.