Make sure .rotate90() does not destroy the original shape

* Shallow duplicate array using .slice() before reversing it as .reverse() is destructive
Sanity check: Rotating 360 degrees makes piece return to its original state
Sanity check to validate each one of the rotations of the T piece
Define Board object

* Initialize empty Board represented as a matrix of zeros