Algorithms for controlling cooperation between output modalities in 2D embodied conversational agents