Improve events performance in some cases by 20x.

Things like [Chaplin](http://chaplinjs.org) are using advanced memory management heavily. This includes unbinding of all events too.

Events are getting unbound all the time. When other objects may still try to trigger events, this will increase performance by 20x.

Initially taken from my Backbone fork with optional dependencies — [Exoskeleton](http://exosjs.com).

Proof of 20x speed: http://jsperf.com/exoskeleton-events-vs-backbone-events