All your suggestions are great! One suggested addition to the SuperTextMesh class:
public void ClearAllEvents()
{
onCompleteEvent.RemoveAllListeners();
OnCompleteEvent = null;
onUndrawnEvent.RemoveAllListeners();
OnUndrawnEvent = null;
onRebuildEvent.RemoveAllListeners();
OnRebuildEvent = null;
onPrintEvent.RemoveAllListeners();
OnPrintEvent = null;
onCustomEvent.RemoveAllListeners();
OnCustomEvent = null;
onVertexMod.RemoveAllListeners();
OnVertexMod = null;
onPreParse.RemoveAllListeners();
OnPreParse = null;
}