Yes, ot.SimpleHistory would be appropriate – in fact everything that textareas does is appropriate here.  It also creates diffs out of the content, instead of sending the full content each time.

Some of the necessary functions from forms.js might not be exposed, but you could expose them.  ACE and CodeMirror also need to use more of the patterns currently being used by textarea as well, so some refactoring of that is appropriate – though doing a larger refactor should probably be separate from adding TinyMCE support.