Canada's Trudeau takes gamble, calls snap election