Cross-Platform and Cross-Domain Abusive Language Detection with Supervised Contrastive Learning