As far as using the gnupg architecture instead of libraries like NSS... That's interesting to imagine, but that would be a massive undertaking (think army of developers, years of work).
There's really limited developer interest in the usability aspect of crypto, so we're working on gluing together libraries and stuff that already exists like NSS and GnuTLS. This means apps can work together with pretty minimal code and integration changes.
Part of the reason that I'm working on this is to make crypto more accessible and usable on the Desktop. I hope this will make it more interesting to get involved with. With the resulting interest and developer manpower, it's possible that a move to an architecture that's 'better' than PKCS#11 could take place.
As an aside, I think it'd be really cool to see someone work on a backend for Glib GIO TLS based around gnupg.