Fix #1115: Enrich js.WrappedArray with Buffer and BufferLike.

With these changes, I was able to make the DeltaBlue benchmark run only 2.2x slowlier than the JS version, which means twice as fast as before. I managed this by replacing all Scala collections by `js.Array`s, and calling the methods of `js.ArrayOps` and `js.WrappedArray` directly on the `js.Array`s (which meant virtually no change but to the types).
I don't like this, but I guess there is nothing we can do... Having `js.Array.apply(x: Int)` return `js.UndefOr` is too harsh...