EventEmitter: Re-use #off in #disconnect and add context argument to #off

Objectives:

* Make it easy to extend oo.EventEmitter by only overriding #on and #off
* Add context functionality to off method
* Skip duplicate bindings

Changes:

src/EventEmitter.js
* Add duplicate skipping in on method
* Add optional context argument to off method, which defaults to null, just as it
  does within on method
* Reuse off method for actual removal of bindings inside connect method

Fixes #10