Bug fix: tile_advance caused a hidden error if the stream had finished.
It is now possible to call advance arbitrarily many times, although it
doesn't do anything other than return false.