Add Menu class and spec, created by extracting player generation behavior from CommandLineIO