Kemar Roofe scored a last-minute winner for Leeds as they fought back from 2-0 down to beat Aston Villa 3-2 and return to the top of the table.