Browsers need to go to the one-process-per-web-page model if they ever want to be taken seriously. The whole concept of multiple (possibly hostile) apps living in the same memory space is madness. If you keep finding vulnerability after vulnerability, guess what? You're doing it wrong. And with a decoupled, bare-bones approach to browsing advancements such as local inter-page communication become feasible, because the security model can be so much simpler.
Situation: 1 browser, N pdf-reader like plugins. Result: not only can vulnerabilities in the pdf-reader affect the browser, a vulnerability in, say, flash, can affect the pdf-reader. So every component can affect every other component. Good luck with that.