[WIP] Resurrect the removed visual diff support

This does what it used to do.
Probably brings back the same concerns which caused it's removal in the past
 - whatever those were.

( @tilgovi ? )

What is missing is the stying of the removed and added parts. (It used to be pasten green and ping bg, but you can get creative on that.

Feedback welcome.

> I don't think you have stopped it. If the original model doesn't contain `showDiff` (and it shouldn't) then line 178, above, will result in `@annotation` having targets without `showDiff` _every time_. The conditional assignment does nothing to change this.

OK, I had the impression that `@annotation` object will persist, so if I set the flag once, it will be there by the time the next conditional assignment happens, so it won't be overridden. If that's not the case, I might got the wrong idea about the lifecycles of the different scopes/objects for the directive.