Changes to make templated widgets align with Invalidating

- make `deliver()` immediately update the DOM, even when the template contains widgets
- make `computeProperties()` run before the DOM is updated

The changes center around the function to update the DOM after widget properties
are updated.  I changed this function to be called from `Widget#refreshRendering()` rather
than making a separate call to `this.observe()`.  Additionally, I changed that function to
call `deliver()` on widgets in templates.

To implement this,  `handlebars!foo.html` generates a function that (as before) builds the DOM, but that function also **returns a function to update the DOM according to widget property changes**.   It's confusing but works well with templated.js, because it lets templated.js generate that method using closure variables.

Correspondingly, I changed `Widget` to call that returned function from `refreshRendering(`).

Fixes #227.