Parts of South Africa have been lashed by heavy rain and snow since the weekend, in a severe winter cold front that has disrupted transport and power networks.