support touch events and refine mouse event handling
support requestAnimationFrame for rendering during image manipulation
use css transformations to manipulate image