Declare event handlers in markup via on-foo=... syntax.
The attribute value can be a global, ex: on-foo="myClickFunc()", or inline javascript.
Inline javascript can reference "event", ex: on-click="console.log(event.pageX);".

This change eliminates the requirement to declare an onfoo: function(){ ... } callback
in the widget, at the cost that users can no longer do things like myWidget.onfoo = callback
or test if "onfoo" in myWidget.  Rather, users must call myWidget.on("foo", ...)
or myWidget.addEventListener("foo", ...), or $(myWidget).on("foo", ...).

Also, CustomElement#emit() now returns the value returned by on.emit(),
allowing to know if the event was prevented or not.

Fixes #76, fixes #171.
Refs #204.
Event binding in templates, ex: <button on-click="{{myWidgetMethod}}"></d-widget>.

This also changes the syntax (well, the naming of the attribute) for binding anonymous functions
in templates, ex: on-click="g++;" instead of onclick="g++;".

Fixes #172.
Enhance StoreMap to make "item", "store", "value" parameters
available to markup function definition, ex: fooFunc="return item.firstName;".

Refs #204.
Support data-require="..." attribute in templates to load specified AMD modules.
This means that delite/handlebars! while used as a plugin can compile any template,
even if it contains widgets.

Inadvertently fixes #159.
Create delite/Templated superclass, to be used in conjunction with delite/handlebars!
See docs/Templated.md for details.