previewers: Make sure only 1 audio and 1 video pipeline run concurrently

In order to be able to perform well in case we are trying to generate
thumbnails and waves for many clips at the same time we need to manage
the ressource in a concervative way.

The idea in this commit is that we have an object that implements a
queue of preview generator and control their execution. For that we also
introduce a PreviewGenerator interface that must be implented by any
class that generates previews.

+ We are now able to recover from errors in the waveform previewer, if
we get an error on the bus, we stop the pipeline, and add the
PreviewGenerator again to the PreviewGeneratorManager so it is tryed again latter,
the second time there will be no rate modulation making it less error
prone, we abandone after 2 times (1 with rate modulation, the other
without)

+ The thumbnail generation stategy has been sensibly modified so that
the thumbnails are generated *only* for the visible area, not the whole
clip. This permit us to be able to get thumbnails for visible parts of
all clips even though we generate thumbnails for 1 clip after the other.