Refactor character-functions with Herodotus

This also unifies the code and drops a lot of complicated state
handling.

Signed-off-by: Laslo Hunhold <dev@frign.de>
2 files changed