Redesign

Added a player factory for creating players and different bots,
reorganized the cpp files to be more intuitive
Merge remote-tracking branch 'origin/Main-Development-Branch'