Tracking in-scope local variables.

This is a step toward resolving issue #11, which requires us to distinguish local variables from property access through implicit "this".
Intercept property access with implicit 'this' object correctly.

Previously it was always handled like local variable access.

Reference: Issue #11
Bug fix.

ClassCodeExpressionTransformer wasn't visiting individual expression by its type. Instead, it was rather just calling the transform() method on every expression
Updated the assertion.

Now this library can correctly differentiate property access vs local variables
Updated tests to correctly handle implicit property access
need to allow access to the compiled script itself now that we intercept its calls
Updated test case and more closure related bug fix