Refactor the code to add a `against(self, other: 'Player') -> 'Player'` method to the Player class,
which returns the player who wins the game between `self` and `other`; this is based on the 
logic present in the `who_won` method, which should be removed and a call to `against` should be
made instead.
