add invoke on object method

This PR allows script wrappers to override methods w/o requiring to use `$this` as the first parameter of the method, but simply using `this.___` in the client code.

currently only V8 engine is adapted to use this functionality, others use backward compatible callback and the usage is unchanged.