Rewrite the nltk tokenizer example to use more of the TCF API.

The tokenizer is now a better example of the TCF API. It uses more of the API
sugar and works less directly on the XML level. However, this comes at the
cost of speed. It makes the example a good showcase (which is its point), but
for production use, a faster implementation, either of the tokenizer or of the
API, will be advisable.