Support nested properties in templates.

Note that the widget will only be updated if the top level property is changed,
i.e. if the template contains {{item.foo}} it will only be updated when item itself
is set to a new value, not when item.foo is modified.

Refs ibm-js/deliteful#35 tangentially.
In templates, convert undefined/null property values to empty strings.
In paths though, it only work for the last element, i.e. for {{one.two.three}},
three can be undefined but not two.

Refs ibm-js/deliteful#35 tangentially.