some refactoring and documentation in the compiler
compiler uses context objects instead of js vars

For instance, "A←5" would previously compile to
    var A;
    A = 5;
and now it will compile to
    var _ = {...};    // the context object
    _.A = 5;