Ten Years of Generative Adversarial Nets (GANs): A survey of the state-of-the-art