loader/dri3: Overhaul draw->cur_num_back handling
draw->cur_num_back
is no longer used for immediately reducing the number
of allocated back buffers. It just reflects how many of them are
currently allocated, and is used to prevent allocating more if the
current maximum is already reached.
This fixes an issue where the current in-progress back buffer could get freed, which would result in visible artifacts.
Unused buffers are freed once they reach buffer age 1000. This ensures we do not keep around more buffers than necessary in the long run.