Replaces Array.prototype.reduce with an explicit loop for performance.

Noticed the call to [].reduce was possibly the hottest code path, and tried replacing it with the supposedly faster `fast.js` implementation - see [repo](https://github.com/codemix/fast.js)

Amazingly, benchmarking shows this is little over 20% faster.

I'm pretty sure the edge cases not handled by `fast.js` will not be a problem in this case. Sparse arrays, for instance, are an impossibility in our current usage.