In the spirit of other answers, I feel obliged to point out that Mozilla provides the platform they used to build their applications, including Firefox and Thunderbird, -- see XULRunner.
With XULRunner you
- develop interfaces in XUL (cross-platform UI description language that Firefox and Thunderbird use) or even HTML,
- develop program logic in JavaScript or, if you really need to, C++ (or even Python, like Komodo does),
- have support for the same extension mechanism as used Firefox/Thunderbird
Here's a partial list of applications built on top of XULRunner: XULRunner Hall of Fame.
To answer your original question, the Mozilla platform provides rich functionality on many platforms by specifying a set of cross-platform APIs (e.g. (oversimplifying) XUL for interface definitions) and implementing each API on each platform.
Implementing such a cross-platform layer from scratch is lots of work, so instead of trying to look at and copy Thunderbird's implementation, you should pick one of the cross-platform solutions mentioned in the answers here (Mozilla, Eclipse, QT, wxWidgets, etc.)
Each has its strengths and weaknesses, without knowing your current expertise and requirements it's not possible to pick one for you.