DiffTalk: Crafting Diffusion Models for Generalized Talking Head Synthesis