refactored moveRandomly(), get rid of _lastDirection in favor of last move from stack
refactored initGame(), shuffle()/restart()/init() to always have a fully initialized game, added start option