Canadian PM Justin Trudeau swarmed by protesters