pipeline: Dot the pipeline when receiving an ERROR message
check: Make opengl plugins a hard dependency

We strictly depend on glimagesink these days!
pipeline: Cleanup the pipeline recovery feature

Make sure that we wait for ASYNC_DONE after we set a pipeline
from < PAUSED to PAUSED

Max recoveries goes from 5 to 3, we let quite a lot of time for the
pipeline to recover and the user would be bored at that point!
pipeline: Add a watchdog element to the pipeline

Right before each sink, we add a watchdog element that
will make sure the pipeline is not frozen for no good
reason and post a message on the bus if is the case.

That ERROR message will trigger our recovery code.
Let the user know when Pitivi is dead

We now notice that Pitivi is in an inconsistent state
thanks to our watchdog, and the various recovery retries,
and if everything fails, we should let the user know that
Pitivi is dead, and let him save his project before
quitting.
pipeline: Recover the pipeline when not receiving ASYNC_DONE

Not receiving ASYNC_DONE is really bad!
pipeline: Properly follow recovery states

During recovery there are two major step:
  * Go back to PAUSED
  * Seek to last position

We consider that the recovery worked when that
second step is fully completed.

Also in the last try (so after 2 failing tries to,
recover), we do not try to seek back to the failing
point and just go back to PAUSED with position == 0