modified Shape constructor to use Direction Offsets, rather than int offsets.  This forces blocks to be adjacent.