Turn down optimization level

- It had accidentally been bumped to -O4, but in most cases this is the
  same as -O3, and in Clang the extra link-time optimization breaks the
  build without the gold linker plugin.
Refactors internal arguments object

- Cleans up args API and adds a new `args_append` function to avoid
  error-prone manipulation of the js_args object in other code.
- Removes malloc calls in other code to create new js_args objects,
  using `args_new` instead.