zoom and pan for webgl