swapchain: Refactor to store age implicitly in list

Instead of storing the age in each slot with no defined order, instead
put previously used buffer slots in a wl_list where the youngest buffers
are at the head.

This guarantees that the swapchain will return younger buffers if it can.
3 jobs for swapchain in 1 minute and 45 seconds (queued for 3 seconds)