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.
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.