Discard tiles when they move outside the viewport

When tiles move outside the viewport, mark them as unused and
candidates for collection at a later time.