renderer: simplify by releasing all previous on flip
renderer: release all queued frames properly on DiscardBuffer()
renderer: no need to keep separate display render buffer

We minumum always have two buffers. One decoding and one render,
thus if current render and current decode will always differ