Reduce GC load by batching calls to String.fromCharCode

Though string concatenation is theoretically faster, in practice
the myriad of calls to String.fromCharCode still seems to create
a lot of waste and cause more GC cycles. Batching these up using
an array and String.fromCharCode.apply produces roughly a 30%
speed-up in most browsers when loading the 1000page.odt document.

Results from benchmark, 1000page.odt:

Chrome 31.0.1650.48
Before: 1953ms
After:	1450ms

Safari 6.1 (7537.71)
Before: 1670ms
After:	1374ms

Firefox 25.0
Before: 2056ms
After:	1722ms
Use local variables for commonly accessed globals

On Chrome & WebKit based browsers, looking up constants on
the Node and NodeFilter classes are extremely expensive. To
avoid this, these are cached for local use in places that have
very large, tight loops.

* Don’t ask for currentNode multiple times when possible
Merge pull request #184 from peitschie/cold-start-perf

Improve document loading and position iteration speeds