I think the best solution for this would be to have a browser plugin take in key presses for input fields and pass it on the to field whenever there is a > 1 sec break in typing, or a tab is hit, etc.
Wasavi. It's a plugin to emulate a small vim-like window on top of text-fields. You just Ctrl+Enter and it opens up, and when you save it (like vim with :wq or ZZ) it populates the field beneath it. It's quite interesting. I wonder if taking this approach to the extreme wouldn't make a difference? If all text fields were abstracted from the website and then the text sent in one stream, for all users.
I unfortunately do not possess the knowledge to understand if this is plausible or absurd, but wanted to at least discuss it publicly.
Edit: Wasavi on Github: https://github.com/akahuku/wasavi
This behavior does also exist for those accustomed to Vimperator, Pentadactyl or It's All Text plugins, but opening your default editor outside of the browser.
Edit 2: Wasavi supports many text input fields (including passwords), and can be configured to be enabled automatically on field focus.