Reorganize packages and organization.
Fail more graciously when invoked with too few args.

Adapted from a PR by @justjoheinz.
Map any to scala.Any as result type of function types (instead of js.Any).
Emit var foo = ??? instead of var foo = _.
Emit default params as ... well ... default params.

Instead of overloaded definitions.