Piece movement update

Pieces now are confined within the playfield.

Pieces now land at the bottom, are added to the pile, and the next piece
is cycled into play.

- added GameStates (pause, end, running)
- added PieceStates (falling, landed, none)
- fixed BlockBag suitcases to toggle when empty.
- fixed AutoDropTiming conflicting with UserInputDrop.

Known Bug:
- rotation can cause piece to leave playfield
- rotation in CounterClockwise direction skips one of the four
directions in the cycle.