Simulates a deck of cards. Instances of each unique card are stored in a Deck. Deck can be shuffled and cards drawn.