Begin implementation of topological sort for task execution
GradientEditorItem update gradient on remove tick
Camera interface copies LUT along with frames-to-background; Swapped order of objective lenses in example config
Merge branch 'bugfixes' into develop
Merge remote-tracking branch 'lcampagn/protocol_config_topological_sort' into develop
Bugfixes:
 - Camera clears displayed image when task returns no frames
   (added ImageView.clear and ImageItem.clear)
 - Fixed Scanner abort when waiting due to close-proximity
   photostimulations
 - Corrections for toposort task configuration
 - Task adds devices to its startedDevs list _before_ starting the device
 - Camera triggering corrections (when camera is triggered by daq, declare
   start-order dependency)