Added optional "data" argument to bind() and one() event methods

I worked on bringing the feature back. This is now possible:
    
    $el.bind("click", {"foo": "bar"}, callback);
    $el.one("click", {"foo": "baz"}, callback);

Had to really dig deep in the code to comprehend and modify.
Also, created a unit test page ```event.html``` to make sure the new functionality is solid ;)