web: DomMutationRenderer: attrs to json via lift-json, not buggy hand-rolled
web: Cell.apply: no need for Observing