All Mozilla applications can use OpenSC PKCS#11 module "opensc-pkcs11.so" for authentication, signing and decryption.
Once the module is installed you can use it to access web pages with https and client certificates. Firefox will ask you to provide a certificate and you can select one from your smart card.
Keypair generation, certificate request and writing the requested cert through an on-line CA should also be possible.
In Thunderbird and Mozilla Mail you can select the certificate for signing and decryption exactly like you would do with normal certificates.
Note: some people do not recommend to use smart card with email encryption&decryption, unless you have a way to backup your private key. It would be a pity if your smart card was damaged and you had no way to decrypt private emails.