Added experimental JS bridging to CoffeeScript interpreter

Bridging allows you to access any native JavaScript object as a funject from within Yak by implicitly declaring global JavaScript variables in the global Yak scope. You can then access them as you would a normal variable.

Bridged JS functions of one argument must be called with an argument list (e.g., foo[1]) rather than a single non-list argument (e.g., foo 1).

Some examples:
- console.log['Hello, world!']
- setTimeout[{@_: console.log['Awesome!']}, 1000]