Injector API

Injector presents a communication bridge between app and debugger.
It provide the access to:
  1. 'require' function (that isn't global and rarely scoped)
  2. socket connection (that used V8 debugger protocol in messages)
    as main communication channel between app and debugger.
It will be useful for injection of plugins and extentions.
It is first part of 'Console API', 'Profiler API', 'HeapProfiler API' extensions.
I would expect this code to handle the `error` event too.

Also since the `connect` event has a boolean argument, you should deal with it here and not pass it down to `done` callback. The first argument of the `done` callback should be an error, not a boolean flag.