Given a rectangular container, layout all cards in the container to achieve the following constraints:
- All cards must be displayed in the container
- No card should be rendered larger than its natural dimensions (no pixelation)
- Minimize dead space
- An arbitrary data set (of more than 1 card) should produce an arbitrary arrangement of cards on each render