South Africa hit by historic snowfall