add core async dependency
prevent square from rotating
add gravity and stacking logic
add coloring for each piece type