Fix argument space-skipping behavior, add test
Remove EventEmitter as Tokenizer base

Indeed all the functions are sync, so it's simpler to throw exceptions. Those
are then catched by caller which can forward it async if needed.