Update grid is more efficient

It only updates the tiles that moved.

Closes #8