Player state

Selection and Undo are stored within a single per-player table, the `cPlayerState` class.