Thousands of protesters gathered outside Parliament as MPs debated Donald Trump's state visit to Britain.