South Africa have claimed the Singapore Sevens crown after a stunning 20-19 comeback victory over Fiji.