AB de Villiers announces retirement from international cricket