Reversible Javascript interpreter (in Javascript)