Fix handling of mustHaveExpression which seems to be misnamed in Angular
When changing variables, prevent shadowing by searching up the scope for them.

Not sure if this is the right behavior in all cases but without it, changes to todos with an assoc-in path were going into the wrong scope and being lost on the next render. With JS data the value in the scope wouldn't actually be replaced, just mutated. This is one place where atoms seem much better.
tweak example code a bit
Text can be modified directly if there is an atom per row. (#6)
More experimentation re #6. It doesn't look so bad after all.