Remove js.prim.* types, and everything related.

The type aliases js.Boolean, js.Number, js.String and
js.Undefined have been removed. The documentation specifies
that the Scala types should be used.

Operations available on JavaScript numbers and strings that do
not have an equivalent in the Scala/Java library can be made
available through imports of implicit pimps of Int/Double and
String:

  import js.JSNumberOps._
  import js.JSStringOps._

Working with dynamically typed JavaScript-style code used to
benefit from js.prim.* types for various things. To restore
(and improve) that kind of code, a few chosen implicit conversions
can be imported:

  import js.DynamicImplicits._

This fixes #1384.
Merge pull request #1390 from sjrd/remove-js-prim-types

Remove js.prim.* types, and everything related.
Move URI methods from js.package to js.URIUtils.
Remove numeric-related methods and constants in the js package.

The corresponding Scala/Java methods and constants should be
used instead.
The scala.scalajs.js package is not a js.GlobalScope anymore.

It only contained one last native method (as opposed to
primitives), i.e., eval(). Now eval() is implemented in user-space
using the js.Dynamic API.

This transformation allows to implement `undefined` and
`isUndefined` in user-space as well, instead of as primitives.
Fix #1389: partest is broken.

It was broken in the refactoring of
df111c62335a0591dcea54461df934923106276d
which uniformly added $s to all occurrences of module class
names.
Merge pull request #1392 from sjrd/fix-partest

Fix #1389: partest is broken.
Split Primitives.scala into Any.scala, Dynamic.scala and Object.scala.
Merge pull request #1391 from sjrd/rethink-js-package

Fix #1383: Rethink the scala.scalajs.js package
Merge pull request #1393 from sjrd/split-primitives

Split Primitives.scala into Any.scala, Dynamic.scala and Object.scala.