Surface: do not evict outstanding buffer in onBuffersDiscarded

Due to the nature of async callback, onBufferDiscarded may
arrive after a discarded slot has been occupied by a new buffer.
Fix that issue by skipping currently dequeued slots.

Test: Stress test script in the bug
Bug: 161787265
Change-Id: Ia8fdd5f28c4b535bc5a7010b6ee0b16e375ec257
2 files changed