Allow using objects as both the source and the target for the inheritance

It should be possible to inherit both to and from an object. This patch will allow you to use a mix of either.

```js

var Base = {
    method: function() { return 'Blah'; }
};

var Sub = {};

heir.inherit(Base, Sub);

Sub.method();
// Blah
```

I decided not to an a prototypical method on objects for inheritance as that's considered *really* bad as it affects the **whole** javascript runtime.