It breaks things outside of Western Europe/US.
Changing functions to use htmlspecialchars(). It still breaks things
in compose, when is_conversion_safe($charset)=true.
at least it breaks less.
I've created this for another project of mine, and think they come in useful
here. They are kept simple on purpose. Advantage is less typing
[eg addHidden('startMessage', $startMessage)] and everything is encoded
automatically. Could be extended with submit/reset and other form elts
not covered yet.