Fixed bug where function invocation with no arguments would emit invalid
javascript

- was outputting myFunction(())
- the inner parens are a syntax error
- inner parens were a result of me trying to wrap all argument expressions
  in parentheses "just in case"
- I'm pretty sure those parens will never be needed because all
  expressions can be seperated by commas
Added semicolons to browser-demo's build script (not sure why I forgot
that last time)
Added support for if statements (which are different than ifelse in the AST)