Regarding the donations, I think the way they are structured with donations going to the non-profit Mozilla Foundation, and development of Firefox being done by the for-profit Mozilla Corporation means that donations cant be used to support Firefox development. Its unfortunate, because I would happily donate to fund Firefox, but I'm not terribly interested in funding Mozilla's non-profit activities (at least not more than other charities I could donate to).
I wonder if crowdfunding around specific development goals would be productive - certain promising features like Webrender have been in development for a very long time, and I'd be willing to contribute money to see them finished and shipped.