This way the main `FuriganaGenerator` can be shared among multiple threads. This also adds substitutions for words that the tokenizer insists on using the less common pronunciations for.
A furigana generator, that can do "spaced repetition" style reduction of furigana over the course of a text.