A Causal Framework to Unify Common Domain Generalization Approaches