Re-design "game pool"

Add "player hand" model

Enable - draw a card remove one from "game deck", add to "player hand"

Re-design deck and game deck, add string to record deck cards at the
beginning of a game

Add new commands to user interface

Remind: add your personal implement to *Impl.java, change the annotation
from @generated to @generated NOT, so that next time the code generator
won't overwrite your methods.