Optimized redrawing, slightly reorganized

- Separated pieceMoved into three more specific flags in order to reserve calls to copyPiece and looped calls to checkOverlap for the updates that need them, as they are expensive processes.