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.
Use published version of requirejs-dplugins.
Examples of poor man's solution to show/hide nodes in template.
Refs #183 tangentially.
Remove non-working code for {{#if}}, refs #183.
Setup dependency on jQuery.
Convert CssState.js to use jQuery DOM class methods.
Convert focus.js to use jQuery class methods.
Convert HasDropDown.js to use jQuery DOM class and manipulation methods.
Convert place.js to use jQuery DOM manipulation methods.
Convert Widget.js to use jQuery class methods.
popup.js: use jQuery rather than dojo/dom* modules