refactoring piece to alter the positions of internal Block objects rather than an internal matrix
refactoring Board to check collisions on all falling blocks (always just a single block for now)
allowing drop() to accept a multiple-block piece without disturbing the single-block piece mechanics
adding the x-offset for new multi-block shapes
removing half the piece size from the xOffset
reverting board not to handle individual blocks directly
introducing a moveDown method for blocks
constructing a block-position matrix before converting board to string
moving falling blocks to blocks array when falling stops
internal and external positions of blocks in pieces
removing position of piece from Piece class, as it will not be available for a tetromino type piece
creating internal matrix on init
refactoring toString method and collision checks to handle matrix representations
adding height to matrix init
removing unused variable blocks
removing collision check from piece
introducing hasFallingAt(y,x) method to handle falling block positions
falling blocks printed on board string representation, but not at correct x-offset
adding size to tetromino ('inherit' from Piece)
moving falling block position to board, keeping Block xpos/ypos only for use by Piece for relative positioning on rotation