fix(parse): fix context when using parentheses

Fix the way parentheses keep the context on an expression using the same logic as JavaScript

This patch fixes expressions like
* `(obj.getA)()`
* `(obj['getA'])()`
* `(this['obj'].x.getB)()`