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`:

```scala
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:

```scala
import js.DynamicImplicits._
```

This fixes #1384.
It's going to be removed in a subsequence commit anyway (and it's always returned a `Double`, it was just hidden by the alias).