use pooling for temporaries

In v8 and most other JavaScript engines, creating typed arrays is extremely slow.  Instead it is better to use pooling to reuse memory for typedarrays.  This also has the benefit that frequently used small typedarrays will stay hot in memory.