Shifts decode/set into a cancelable operation

the image setting code can be cancelled in-flight which should offer
"smoother" operation on older devices.