OMML fixes.

A number of small changes that fix up a large number of the roundtrip errors. Some remain (converting unicode spaces to literal spaces, some subtleties of grouped letter-identifiers vs. EText), but this is a good start.

The one change outside of OMML is moving some of the exp-fixing code from the MathML reader to shared, since it isn't MathML specific, and it's useful for fixing OMML trees too.