zencoder/video-js — pull request #425 by heff (2013-04-03 22:56:40+00:00)
Title: Backing out goog.inherits and adding back the previous inheritance API w...

...ith some updates. fixes #415

The new API is the same as the API used before goog.inhertits, which was from Resig's simple class inheritance. It's also the API that Ember.js uses, so it helps that there's already mulitple versions of this API in existence.

```js
var MyObject = CoreObject.extend({
// Constructor function
init: function(){
// No _super() method or goog.base() for parent constructor.
// Use ParentObject.call(this);
},
otherMethod: function(){
// No _super() method or goog.base()
// use ParentClass.prototype.otherMethod.call(this);
},
otherSharedProp: true
});
```
I took some cues from Ember calling the base Object/Class `vjs.CoreObject`. Avoiding reference to classical inheritance, at least in the var names. What we have here seems more like prototypal inheritance + constructors.

Ember.js also introduces a `create()` function for creating new instances. We've talked about creating a similar function, e.g. `Button.create()`, to avoid doing `new Button()`. So a simple version of that method is included in here also, which uses `Object.create` to create the new instance.

```js
var myObjInstance = MyObject.create(options);
```

This is the first step and I'd like to get feedback on this part before applying it to the rest of the lib.

/cc @dmlap @jimbojw @gkatsev