MADG: Margin-based Adversarial Learning for Domain Generalization