Amid growing dissent within his own party, Canadian Prime Minister Justin Trudeau has announced his resignation.