South Africans vote in crunch election