BodyGAN: General-purpose Controllable Neural Human Body Generation