Justin Rose wins WGC-HSBC Champions as Johnson falters