Bug 880501: Add chainable methods for EventTarget

Also adds `lang/functional` `chain` method