Fix element types for Typed Array constructors and accessors

Ran into this trying to do new Float32Array(js.Array[Float]) with surprising results (js.Array[Float] is not of type js.Array[Int]).

I've also made the accessors to typed arrays slightly more precise where possible.