Frances Tiafoe vomits on court during five-set marathon win