Mick Fanning has been charged with assault in South Africa following accusations he threw the first punch.