South Africa's busiest ports hobbled by strike