At least 19 people have died after a magnitude-7.8 earthquake struck off the coast of Mindanao island in the southern Philippines, officials say.