Actually, the current implementation of ```nodeLength()``` is just plain weird:

why, if you pass it an element, is the length of the element the number of child nodes? Makes no sense. How about to always return 1 for elements, because it's a single node after all.

Or, why is a text node's length, if you pass it to ```nodeLength()``` the number of characters, and if it occurs as the child of an element 1. Shouldn't it be always be the number of characters? So shouldn't the length of an element be the number of element nodes and the combined number of characters in all child text nodes?