use decor/Evented rather than dojo/Evented
Introduce Widget#template property, and fix deliver().

Widget defines a new "template" property, to be set to the value returned from handlebars!.
Widgets with templates should now set the template property rather than setting
buildRendering directly:

define([..., "handlebars!MyWidget.html"], function (..., template) {
    register(..., {
        ...
        template: template

Note that the template property, along with the buildRendering() and refreshRendering()
methods, could be moved to a separate Templated class, but since they are only a few
lines I put them in Widget, at least for now.

In addition, includes changes to make templated widgets align with Invalidating:

- make computeProperties() run before the DOM is updated
- make deliver() immediately update the DOM, even when the template contains widgets;
  actually that's mainly from 1f05aa7a33f4cf5851756ca84d593ca512a0de1a

Those changes center around the function to update the DOM after widget properties
are updated.  I changed that function to be called from Widget#refreshRendering() rather
than making a separate call to this.observe().

Fixes #227, fixes #228, refs #207.
KeyNav: remove container tabindex rather than setting to -1.
Fixes #229.
Increase timeouts to avoid spurious failures on SauceLabs.
This shouldn't be necessary; not sure why the tests are running so slowly.
Use decor/Evented rather than dojo/Evented.