A man has been detained by police after throwing Russian flags at Donald Trump and shouting "treason", as the US president was walking into a meeting with Republican senators.