…orrectly within an array. `typeof observable == "function"` returns true for observables, so they are treated like a predicate instead of value. With this check, the observables are compared like values.
…et the binding context manage it. The result of this change is that if the observable is updated, only the underlying binding are updated (using the new observable view model system) instead of the whole template (re-rendering and re-bindings the elements).
Add tests for this change and the previous $item addition.