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>