Widget: Support events with dashes and colons

Fixes #9708
Closes gh-1159
Build: Upgrade to grunt-contrib-csslint 0.2.0

This should fix the crazy grunt-contrib-csslint -> csslint -> parserlib fuzzy
version issues.
Tests: Fix draggable_options expected test count to be dynamic

The test count was previously incremented to 8 when normally 6 tests
are run.  After figuring out the dynamic test code, I just made the
expect depend on the same array length

Also re-enabled the test in the Gruntfile since it now passes.
Build: Upgrade to grunt-contrib-qunit, supports page options
Merge branch 'master' into fix_1144

Conflicts:
	Gruntfile.js
Build: Updated grunt-contrib-qunit to v0.5.0

Removed local phantomScript setup because it is now in upstream
grunt-lib-phantomjs (which grunt-contrub-qunit depends on).