CardArea is templated and virtualized.

Replaced uint with size_t.
Reduced memory footprint of Deck class. Some refactoring.
Corrected shuffle algorithm.