Justin Thomas apologizes after calling himself a homophobic slur on live TV