Extended the options for [Native] classes:
* Using [Native(amd="path/library")] on a class com.acme.Foo, you tell
  the compiler to not generate any code for this class, but whenever it is
  used, load the AMD module "path/library". This allows to implement an
  ActionScript API "natively" in JavaScript. The corresponding "native!"
  notation would be "native!com.acme.Foo@path/library".
  If you just write [Native(amd)], the module name is derived from the
  class name as usual, in this case the generated code would require
  "classes/com/acme/Foo" (*no* native! plugin!).
* Using [Native(global="Ext.Panel")] on a class ext.Panel allows to define
  a mapping from ActionScript identifier (ext.Panel) to JavaScript global
  name (upper-case "package" Ext.Panel). If no "global" is given, the
  ActionScript name must be exactly the same as the JavaScript name.
* You can even combine "amd" and "global", to integrate with non-AMD
  libraries and to define a fine-grained API for a library that ships as one
  big script. For example, the ActionScript class ext.Panel which represents
  Ext JS's Ext.Panel would be annotated as [Native(amd="ext-js/ext-all",
  global="Ext.Panel")] (notation: "native!Ext.Panel@ext-js/ext-all"), and
  Ext.form.TextField  would be defined as class ext.form.TextField and
  annotated as [Native(amd="ext-js/ext-all", global="Ext.form.TextField")]
  (notation: "native!Ext.form.TextField@ext-js/ext-all"). The script is only
  loaded once, but the "native!" plugin retrieves different global objects.

What all [Native] classes have in common is that there is no "_" property,
i.e. no indirection to allow for static code in the compilation unit.

With these new possibilities, split up AS3.js into smaller chunks of methods
that are not always need, resulting in AS3.js itself being below 200 lines
again. On the fly, fixed several bugs, especially to make things work in
IE8 again.