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.

Reading your comment and looking at the proposed solutions, it made me think of an interesting browser plugin, and wonder how it could affect this issue, or if it could even potentially solve it to a certain degree.

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.