TabDiff: a Multi-Modal Diffusion Model for Tabular Data Generation