You can use any browser and if it has native support, it will do the client side crypto. It will store your public/private keys in the client.
You can use any Identity provider (email provider probably) and if they have native support, they will store you password and do 2 factor auth or whatever.
This removes websites (relaying parties) from the password storage business. All they get is an email address and a way to cryptographically check to see that you owned it.
The crypto that powers the BrowserID protocol is an open standard, so you can vet it. It's been designed by crypto experts in an open forum.
After that the identity provider just gets requests from services that do not know its public key yet, but typically it is asked only once per service as the key is stored in a local cache. And even when the key is asked, the provider cannot know for which email verification address it is needed.
All in all I think this is a great system. It puts a lot of trust in the e-mail provider, but I think that's all right as the provider already has full control of your personal e-mail anyway and hence is trusted by default.