Deck viewer

This merge request is a bit bigger as it does more than one thing:
* it factores GameStateDeckViewer's code to render and animate the card view into its own class (DeckView and CarouselDeckView)
* it adds a grid layout to the deck viewer for use on big screens (i.e. desktops) and makes the view toggleable
* it adds easing for more fluid appearing animations in the grid viewer.

If you think that easing is a good idea in general, I would add it to the carousel viewer as well. I will add proper source code documentation once this is merged. For the view-toggle-button, I chose an arbitrary JButton code and a arbitrary position. I could change that if there are any conflicts though.