Doug's infrastructure fixes for tabIndex to work:

- Dcl.mix() monkey patch. Works around problem with native property names on FF and IE.
- Delete properties on DOMNode instance to expose custom setters on prototype.
- Remove tabIndex attribute from root DOMnode so there isn't an extra tab stop.
update bower.json for new dcl, refs #34
Add test case for tabIndex, refs #34.
It's only working when tabIndex is declared in a mixin, not when it's in the
 props passed directly to register(), so I left the other test case commented out.
improve test case for tabIndex, refs #34
Changes for 2.0 event handling.

The principles are that:

1. All widget events are emitted as DOMNode events.
2. There shouldn't be any widget methods like onClick() anymore, unless the widget is using it
    internally, but then it should probably be called _onClick() with an underscore.
3. The widget already has functions like onclick and onchange, inherited from HTMLElement,
    but widgets should define functions like onfoo for non-standard event names.