Adds input type parameter to SentenceSegmenter and Tokenizer

Analyzers need to have an input type parameter. Otherwise, you start discarding old annotation types as you move along the pipeline. See the example I added in the main method - if you don't add the type parameters, it's impossible to call `slab.iterator[Document]` after the pipeline is run because the output is just a `Sentence with Token`.

I don't know whether you need the type parameters for the actors approach. Probably not, since that approach relies on .asInstanceOf.