calling super via `_super_METHOD_NAME`

Hi, this is a proposal patch to fix #1266, 

It's trying to bind all overridden parent functions as `_super_METHOD_NAME`. This syntax looks a little ugly but it seems we have to use this string-concatenation approach. Because:

* it's hard to bind 2-depth property into prototype
* if we let the syntax be `this._super.method_name`. Then the method should be called on `this._super` instead of `this`. (Although we can user `function.bind` trick, but we shouldn't, because it is the JavaScript convention.)

<del>This patch introduced a little incompatibility:</del>

* <del>if any user code tried to extend framework classes, AND used the `this._super(...)` syntax. It would yield a deprecation error.</del>

update: 

* I used [`Function.caller`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller) to polyfill the `_super` method, any existing user code (using `this._super` syntax) will still work.
I think `this._super_init`need to `this._super_onEnter`.