angularjs directive for panning and zooming on an element