xulrunner and Firefox are (since Firefox is a strict superset of xulrunner). Thunderbird pulls in the core code and has a separate tree for the mail-specific stuff.
The line of code count is what it is, but what makes that "bloated"? Have you compared that to any other reasonably full-featured web browser (e.g. not links)? Have you compared the dependencies to any other web browser? I think you're just severely underestimating how much stuff a web browser is expected to do nowadays...
Most of the build options are dead, in fact (as in, if you try to use them, they won't build). There's ongoing work to remove them from the configure script so as not to confuse people.
These are your "bloat" indicators? That's about as primitive as using SLOC as an indicator for programmer productivity.
~/src/mozilla-1.9.2$ find -name \.c -o -name \.cpp -o -name \.h -o -name \.idl -o -name \.js -o -name \.xml | grep -v /tests/ | wc -l 11740 ~/src/mozilla-1.9.2$ find -name \.c -o -name \.cpp -o -name \.h -o -name \.idl -o -name \.js -o -name \.xml | grep -v /tests/ | xargs cat | wc -l 4386362
(Painful to construct command lines like that on a phone, and that is a somewhat old version of the tree, but unless FF4 is significantly smaller than 4m lines and doesn't require building xulrunner and FF, the point stands.) The large number of dependencies is another indicator.
I'd be remiss if I didn't mention that FF is still my "workhorse" browser, and I like it a lot, despite the flaws and the bloat. (I've been using Arora for a long time, but it has some stability issues still. I like Luakit, which is small and hackable, but it's kind of a niche browser. I'm not at all a fan of Chrome.)