Deck Graphics + Player

*Implemented graphics for the deck class
*Created Player.as class to handle all logic pertaining to the player
*Created Hand.as and Discard.as as new CardStacks which will be needed
for the player during gameplay.
*Renamed ButtonIDEvent to ButtonEvent, maybe we can use it for more than
one button later.
*The CardStack class (and all subclasses) now show a hand cursor when
their graphics are hovered over.
*The Deck class how holds an integer to depict its main lesson, with
this we can derive a starting character in the player class, which is a
better place for a starting character reference.
*Added _ignoreMaxAllowed property to the Deck Geneation algorithm that
will ignore the self-imposed MaxAllowed properly in the XML library and
instead will use 4 as the card limit, this ensures Deck Generation never
fails as we can repeat cards more often on dual type decks (and we can
use it for an "easy" difficulty later on, so that the player has a
better chance to get more rare cards in their decks.
*Created a new function buildDeckAdd for adding cards to the Deck
structure during deck generation, previously we were overwritting the
basic add function but that will be needed later.
*Added descriptions for the main characters in library.xml (were
previously hardcoded).