Lightweight JavaScript VM and stepping debugger in JavaScript