I think we would all agree that code bloat goes beyond web browsers, it's a problem for every piece of software, a problem from the future, waiting to happen, somewhere there along the development timeline, when someone with insufficient life wisdom decides for yet another feature, and as features become less related to the core functionality of the original product, the code bloat becomes more of a nuisance.
Since the psychology of developers can hardly be changed fast, especially the inexperienced ones (wisdom does not equal competency here - you can contribute to libevent, but not have a clue about the kind of wisdom I am talking about), I think another solution is necessary.
This solution is to at least try to decouple the features from the core product in such a way that these do not impair loading and runtime times, can be distributed/added/removed separately and generally do not impact the core product. Dynamic library loading, etc - all these things can be used with good measure to combat perceived bloat. But we still need to educate each other on these things.
The good and related principle of high-cohesion low-coupling should also be applied.
My point is, in itself, a gazillion addons is not a problem, as long as a person not wanting one single addon can use the product to their satisfaction where mere existence of plugin/addon/dev-IDE system does not impact his experience negatively. And it shouldn't - if you can load libraries on demand, you can decouple the IDE from Firefox, so that people who never heard of it or do not want it, can live in blissful ignorance of its mere existence.