add Shape.on() interface, update canvasWithEvents to support dojo/touch, fixes #16453,#16456 !strict