Novartis to buy GlaxoSmithKline cancer unit for up to $16 billion