Heineken swallows $949 million charge as limping demand hits its Chinese business