Ensure Node.Normalize() acts on all descendants

Fixes #2170 by recursively calling `normalize()` on all children that aren't text nodes.