Added various todo.jsm features

how do i javascript.  
Some things may not be coded well, but I guess I haven't seen `calc.jsm` yet.
nit: space after unary prefix `!` (not operator)