add canvasDrawRect, some Hammer events

* add canvasDrawRect
* add support for pinch, pinchin, & pinchout via Hammer.js
* fix recursive marshalInterpreterToNative calls that broke in previous commit when moved to codegen.js