make Http class injectable

yeah I'm not big on this, I still think it would be better to specify this by a string, and fetch the class from a set of registered classes.

Maybe passing a constructor should be an option too, but it's kind of awkward.

I propose something like this:

```js
var type = options.type;
if (type == null) type = 'default';
if (typeof type === 'string') type = constructorsMap.get(type);
assert.type(type, IConnection); // or something, not sure how that looks;
connection = new type();
```