Add PlayerGeneratorAndSerializer trait and add more code to NeuralPlayer