I think the code find and alter the containing form could be done differently. I was thinking of using the HtmlEditor as an example. It keeps a form field hidden and syncs the content back to the hidden field on keypress and other things that change the content. I think this might work here as well. The getRawValue currently doesn't work, and beforeblur calls it, causing all sorts of issues. Not sure why it doesn't in your examples though...
Anyhow, nice extension! I can help with a sync system if you like...