tmpvar/jsdom — pull request #377 by fgnass (2011-12-21 23:05:04+00:00)
Title: Major performance boost. Woo-hoo!

## Benchmark

With these changes applied, the level1 and level2 suites run __2x__ faster:

node test/runner -s level1,level2

master: 32152ms
perf: 15439ms

## Changes

* Non-live NodeLists are now implemented using native Arrays, with an extra `item()` method to match the NodeList interface.
* Using such an array for `Node.childNodes` is much faster as it doesn't force V8 into dictionary mode.
* The (live) `Node.children` list is now lazily created, hence the performance penalty is avoided as long as the property isn't read.