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.
I know about half the codebase is missing braces, but could we please move towards using braces everywhere? Thanks.