It's an interesting hack, but it seems like the DOM changes that they're trying to detect all result from some user event. (clicking "reply" or something) Wouldn't it be easier to just listen for that user event?
Not necessarily true. It's not through reply, but instead compose. And theoretically you could bind to all the trigger events, but you may miss some, and there's a lot of bindings...
You can click on the big compose button in the top right. You can use one of the two keyboard shortcuts, you click click on an email address in an email, you can click on the email icon in the little contact card, etc.
Binding to all of those events (such as the contact card) is about as difficult, if not more so, than binding to the creation of new compose windows themselves.