Javascript backend

Initial version of a javascript backend. This generates unoptimized code. Beware of exploding call stacks and missing primitives.