South Africa all out for 298 in first Test against West Indies