RGB Led work queue revision

This patch set does not use work_cancel(), but instead does just not re-enqueue the driver again. This leads to a more graceful exit scenario and no (known) corner cases. Also not resetting _should_run anymore in all cases (in particular, ON mode does not touch _should_run, as it in fact is agnostic of that state and should not touch it).

DO NOT MERGE YET!

Currently on a long term bench test - looking good so far, previous corner case could not be reproduced.