Comcast to buy Time Warner Cable for $159 per share, CNBC says