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.
Prefer attach-point to data-attach-point.
Fixes #210.
Support requires="..." attribute in templates to load specified AMD modules.
This means that delite/handlebars! used as a plugin can compile any template,
even if it contains widgets.

Inadvertently fixes #159 because users will never use text! to load templates anymore.
fixes #189 (unreported failures)
bump version to 0.1.7
DisplayContainer: fix comment about emit()
Change HasDropDown to use dpointer rather than dojo/touch,
and to use this.on() rather than dojo/on.

Fixes #129.
Don't have methods named after events, because jQuery will call those methods
when the event is fired.  Disappointingly, jQuery does manual triggering of events,
rather than calling dispatchEvent().
Refactor and enhance KeyNav.

- Efficient implementation of _getNext(), so subclasses don't need to implement it.
- _getFirst(), _getLast(), _getNavigableChildren() removed.
- Removed dojo/on and dojo/query dependencies by using this.on(), and manually implementing
   the focusin event delegation.

Migration notes:

- Subclasses should stop defining or _getNext(), _getFirst(), and _getLast(), and should stop referencing
  _getFirst() and _getLast().
  In particular, their implementations of _getNext() may not work anymore; there are new requirements
  that it take a dir parameter, and also that that instance._getNext(instance, 1) gets the first child,
  and instance._getNext(instance, -1) returns the last.
- Be sure to define childSelector.  It was always required, but now may be even "more necessary"
  than before.
Remove Widget#isFocusable() and KeyNav#_get*FocusableChild() methods.

These methods seem to no longer be needed.
If a KeyNav contains disabled children (like disabled buttons in a toolbar),
you should be able to filter them out via the childSelector, ex: ".button:not(disabled)".
Cleanup of focus.js:

1. Remove dojo/on dependency.

2. Check for events in capture phase rather than bubbling phase.
This is necessary since focus/blur don't bubble (on spec-obeying browsers),
and is also good for the pointerdown event in case someone calls stopPropagation().

3. Use dpointer so I only have to listen for the pointerdown event.

4. Remove some code about ignoring certain focus events.
This was from https://bugs.dojotoolkit.org/ticket/9735 and dealt with the
onactivate event that we are no longer using.
Get focus.html test working; still needs to be converted to intern.
Fix focus.js lint errors and improve test.
Test and fix focus manager popup handling.
remove remaining delite references to dui, fixes #68
copy asudoh technique to avoid needing intern.browser.js file
dojo/has --> requirejs-dplugins/has
Use native methods rather than dojo/on.

Can't use jQuery's .trigger() because it doesn't notify listeners
registed with addEventListener().  See http://bugs.jQuery.com/ticket/11047.

Also, can't use jQuery's .on() for custom events because it erases the properties
that we added to the event object, such as evt.invalidatingProperties.
Technically, they're available through evt.originalEvent, but that's not what
users expect.  Note that if we used jQuery's .trigger() method, the custom
properties would be easily available to jQuery's on() method.

Basically, jQuery's trigger() and on() work well together, but you can't
mix and match them with native methods.