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).
Move the final one commit ahead for consistency with ArrayOps