improve and simplify TextAreaEditor by using input event to detect mutations; tweak OT to ignore no-op changes