Change FeatureExtractor to use untokenized string

Currently, the feature extractor class operates on documents that are
already tokenized. A big part of extracting features depends on how you
tokenize the text, which could include regularizing and filtering the
content.

By default, the FeatureExtractor will use `str.split` as its tokenizer.
However, should the user wish to experiment with a custom tokenizer
function, they may do so setting the `self.tokenize` attribute to it, or
by passing it to the constructor under the `tokenizer` keyword argument.
This closes gh-18.