adds a check in Piece.setPiece to avoid pointless updates and splits sprite updates
into separate methods