JavaScript - pinch - zoom - rotate using canvas