Clear Board full rows

* Board#clearFullRows set zeros for all row when it gets full
Cleared rows behave in a way the upper rows fall on top of each other

* Board#clearFullRows removes a row using .splice() and unshift a new empty row into board's body
Clear rows when a piece is placed into the board

* Call #clearFullRows after placing a piece on #tick
Prevent pieces from acting as a ghost when moving left

* Check if piece will not overlap before moving it to left
Prevent pieces from acting as a ghost when moving right

* Check if piece will not overlap before moving it right