Updated sweet.js API & refactor

Updated to work with the new sweet.js api. The macro is explicitly
exported now. Refactored so argument accumulation only happens in the
helper macro, and not in the initializer.