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.
Only one of `connect` or `error` should be emitted, this line should be moved to `.connect` methods (see my comments above).