Hagupit batters Philippines, killing at least 21