First step towards emitting JS bridges.

For now we discriminate by argument count.
Runtime type tests in JavaScript bridges.
Refined the set of alternatives for JS bridges.
Added JS bridges in java.lang.Object.
Emit JS bridges for constructor under name '<init>'.
Improved the encoding of fields.
JS bridge for constructors is now ... the constructor!

When creating an object from Scala.js-generated code,
the constructor is bypassed using Object.create().