When 17-year-old student Cameron Kasky took the microphone at CNN's town hall on Wednesday night, he put Florida Republican Sen. Marco Rubio on the spot when he asked: Would you refuse to accept further campaign donations from the National Rifle Association?