Don't break when calling aliased methods of CRL object

If a CLR object `foo` has a method `bar` and you do `var f = foo.bar; f();` or `foo.bar.call()` the code breaks with a null pointer exception. If you instead alias some other native method (eg: console.log) it will instead give a `Type Error: Illegal invocation`. Here I attempt to mimic that behavior to some extent.