Representation Disentanglement in Generative Models with Contrastive Learning