You can use javascript to handle multi-touch gestures. There are plenty of libraries that make this easier to do. Sencha touch, or Hammer.js being examples of this. Then you would have to scale down your content on your canvas accordingly.
As for something specific to canvas, it will be a little heavier, but I would suggest something like: KineticJS