A General Theory of Equivariant CNNs on Homogeneous Spaces