Assemble a given order of tetrominos (Tetris pieces) into the smallest possible square (grid).
After passing the project with full marks, I decided to optimize the algorithm further. Most of the processing has to go into finding the smallest possible map which will fit all pieces. As of now, the new version is still being modified. However, the master branch contains the version which was turned in. Use it to compare to the modified version.