corrected wrong xNext behavior

merged suggest changes for issue #1 by saaj
 * Tokenizer.tokenize returns tokenized text, start/end position in given text in bytes, and it changed a generator.
 * sets position/length in the correct unit(bytes instead of length of unicode string)
 * skips empty token