libweston: disable a pending idle_repaint_source when the output is removed
Currently the idle_repaint_source is removed when the output is destroyed. This covers the most common case: When a monitor is unplugged then the corresponding DRM output is destroyed and not just disabled.
However, outputs can be explicitly disabled by the shell. In this case the output is not removed and idle_repaint() may be called for a removed output.
Remove the idle_repaint_source in weston_compositor_remove_output() to fix this. And reset the variable to ensure that the source can be created again.
Removing the source in weston_output_release() is now no longer necessary since it calls weston_compositor_remove_output().