Better support for text nodes

This is branch to add better support for adding text nodes per #263. The task list below outlines the steps needed for completion.

- [x] add `addText` method to append text nodes to an element.
- [ ] add `addPrevText` and `addNextText`