Template deferred value setting

Defer setting template node values until widget properties are available.

For example, for a template like `<button type=button class={{myClass}}>{{myLabel}}</button>`,
"type" will be set in buildRendering() but "class" and the "label" won't be set until refreshRendering(),
regardless of whether or not the app overrides the default values for myClass and myLabel.

Avoids errors referencing nested properties (ex: item.foo.bar) when item.foo isn't defined
yet when buildRendering() runs.

Fixes ibm-js/deliteful#249.