Fix:
- Allow blocks to move outside of playfield top (0 <= x < width && y < height)
- Update and add new unit tests
- Update test docstrings