Fix element types for TypedArray 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 for typed arrays slightly more precise where possible.  WebGL is usable again :)