Make collision checking more generic, split large function
Modify reset behavior to conform to tetris guideline