gallium/u_threaded: clear valid buffer range only if it's not bound for write
We can't invalidate the range if a buffer is bound for write because we would need to add the range that is bound, which we don't track.
This fixes buffer mappings incorrectly promoted to unsynchronized because the valid range was cleared while the buffers were bound for write.
It also clears the valid range if the invalidation is allowed but skipped.