Fixes an issue with parse/eval

Now, when doing

foo().bar()

::foo is called twice, the first time to get the context and the second one for ::bar to get the underlying object. Then the call to ::bar is called using the second instance as self

This is, in the example above, it would be just as doing

```javascript
var instance1 = foo();
var instance2 = foo();

instance2.bar.apply(instance1);
```

This patch fixes this issue