Added CardCollection as base class of libraries, hands etc.
Added Hand and Library to players, and added functions for draw and discard.
Libraries no longer take a player. Players now take a GameLibrary and a Hand.
Moved card drawn event to player. Added card discarded event. Minor fixes.