JD Vance has edged out Marco Rubio as the Conservative Political Action Conference's choice to be the next Republican nominee for US president.