Generate dynamically the dynamic instance tests.

Instance tests for classes are now created twice:
* once statically by the codegen under namespaces
  ScalaJS.is and ScalaJS.isArrayOf, for use by the
  codegen for calls to isInstanceOf[] and
  asInstanceOf[]
* and once dynamically by the ScalaJS.ClassTypeData
  constructor, for use by the dynamic instance tests
  accessible through Class.isInstance() and
  Class.isAssignableFrom().

The good point is: the static version need not be passed
to the ClassTypeData constructor anymore. Hence, for any
given type, if there is no static call to
is/asInstanceOf[A] for that type (which happens a lot),
it can be dce'ed.