Generative constructor factories for native objects

The generative constructor factory function 'upgrades' the pre-existing native object.

Future improvements:

1. The lookup of the constructor function could be handled via some kind of reflection.  When relection is finished, we should see if we can 'slice' it to provide the small footprint of the current table and lookup function.

2. Inlining of generative constructor bodies is disabled for native classes - it is broken and needs investigation.

3. dart2js should prevent 'new X.c()' where X.c is a native class generative constructor.

4. dart2js should warn on native class generative constructors that have arguments (the only scenario where arguments work is via superconstructor calls - this might be useful. I have not tested redirections.)

Review URL:

git-svn-id: 260f80e4-7a28-3924-810f-c04153c831b5
9 files changed