renderer: allow use of fences for methods relying on proper detection when a buffer was processed

@elupus this is follow up on our discussion on render buffers and implements your idea of using fences.

d416c5314e9a0c5faf0046abf165bbc89e267524 moves the ringbuffer into dedicated queues of free buffers, queued buffers, and rendered buffers. This is more flexible and allows the buffers carrying their own state.

8f6b4c65aa37c1d9f5e055eb207bb6e0a502e68e adds a fence to linux renderer that can be used by render methods that rely on proper detection

It should not change current behavior even not for vdpau because it uses only a single pixmap buffer. #870 will require this change.