[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.

> We only angular.extend @annotation with the model, never overwrite it directly, so I think the flag should be preserved

I think you are confused about how extend works with nested objects. `angular.extend` is not recursive.