anchor.diff:  
     factory DraggerDemo(CanvasElement canvas){
   
  -    var blue = new Shape(100, 100, 'blue');
  +    final image =
  +        new ImgElement.fromUrl('http://sweeper.j832.com/dart_logo.jpg',
  +            100, 100);
   
  -    var tx = blue.addTransform();
  +    var tx = image.addTransform();
   
       var rootPanel = new PCanvas(500, 500);
  -    rootPanel.addElement(blue);
  +    rootPanel.addElement(image);
   
       var stage = new Stage(canvas, rootPanel);
       var dragger = new Dragger(canvas);
  
positive.code:     _dragger.dragStart.add(_onDragStart);
  
      _demoMapper.outputChanged.add((e) => requestFrame());
    }
  
    void requestFrame(){
  
negative.code:       _frameRequested = true;
        window.requestAnimationFrame(_onFrame);
      }
    }
  
    void _onStageInvalidated(args) {
      requestFrame();
    }
  
    void _onDrag(core.Vector delta) {
  