handled required checkbox in IE8. Fixes #12

required status based on whether checkbox is checked (not whether it has
a value).
DOM performance, closes #11

- replace .closest( 'form' ) with .form (html DOM)
- replace $().attr() with .hasAttribute()
fix polyfill for invalid event

use .triggerHandler to simulate a simple event (does not bubble) instead
of .trigger. tested and confirmed working in IE8. failing in phantomJS
(but was failing before also).
Merge remote-tracking branch 'origin/develop'