Added XML::Element#text_nodes.

This method returns all the text nodes directly nested in an element.
Use a new base class for XML text nodes.

The classes Text, Cdata and Comment now extend CharacterData instead of Text.