fix indentation and jshint errors
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
Get tabIndex, disabled, and onchange working for Slider, and add several automated tests, plus some whitespace cleanup.
Fixes for 2.0 event handling.

1. There shouldn't be any widget methods like onClick() anymore, unless the widget is using it
   internally, but then it should be called _onClick() with an underscore.
2. Widgets already inherit methods like onclick and onchange from HTMLElement,
   but they should define functions like onfoo() for non-standard event names.
3. All listener functions (even onchange) get called with single argument: the Event object.
Fixes and test for parsing attributes during declarative instantiation:

1. Allow globals (ex: store="myStore") for Object attributes.
2. Fix functions attributes like funcProp="console.log(...)"; they were being ignored.
3. Disallow globals for functions, ex: onclick="myFunc", since that's inconsistent
   with how native DOMNodes work, where you need to do onclick="myFunc();"
reenable removeAttribute() call, but fix bug on IE
Additional declarative tests to test the removeAttribute code in Widget::mapAttributes