Iterated learning and communication jointly explain efficient color naming systems