Call to super function can potentially cause an infinite loop

Hi there,

I've found that when using Heir to inherit from multiple functions, you can sometimes end up in an infinite loop. Let's say you've got three constructor functions:

- Base (has an method init())
- Child (has a method init() which calls the init() method from Base via this._super)
- Test

Child inherits from Base and Test inherits from Child. Now, if you would call .init() on an instance of Test, you'll notice that this is causing an infinite loop. This happens because every time you inherit from a function, the _super property is overwritten with the prototype of the parent class. So in this case, the call to this._super.init, within Child.prototype.init is actually calling itself over an over ...

My suggestion would be to add the _super property as 'static' property to destination function instead of to it's prototype. So you would get something like this:

``` 
Child.prototype.init = function () {
    Child._super.init.call(this);
}
```
demo: http://jsfiddle.net/3snmdvm9/

What do you think?