Require: monkey-patch events before streams
EventEmitter: use typeof instead of util.isFunction()

The latter is not available in node 0.10
Make the EventEmitter monkey patch work in node 0.10

Node v0.10 doesn't use EventEmitter.init() so we can't monkey-patch
that. However in this version of node the invariant that
require('events') === require('events').EventEmitter doesn't exist so
we can just monkey-patch the object exported by require('events').