Add on-zoom and on-reposition callbacks

Using scope['someCallbackMethodName']() seems very kludgy, but since
we're purposefully not using isolate scope, we can't pass methods
directly into our directive scope, so we're using the "callback" attrs
as essentially keys to the methods on the parent scope.