Beginnings of evaluate()

added support for define, calling js functions, and a bunch of js operators