Philippine leader Rodrigo Duterte apologises to former US president Barack Obama for calling him a "son of a whore" in 2016, which sparked a new low in their nations' long alliance.