Denmark's prime minister called early parliamentary elections after gaining a popularity boost from standing up to President Trump over his threat to seize Greenland.