Restart backend on crash

If the backend crashes it will be restarted. The application can
change its state between crash and restart (e.g. remove the
reason causing the crash). Right now kaa.candy may crash on bad
video files (clutter gst) and sometimes when the refresh rate
changed during video playback.
Clean up Image widget
Adjust to new clutter API

Use clutter.Canvas for drawing instead of CairoTexture. As a
benefit the draw() functions is only called when the candy
widget changes and not durung simple animations.
Use cairo and pango for the Text widget

Using cairo directly looks better when scaled (no idea why) and
clutter does not need to be imported on the main application
to calculate the object size.