detector: Remove excessive casting

operator() and process image are both applying a
pixel_cast_rescale. This commit removes one. This also adds an echo
when the thread ends.
detector: Use image view base
detector: Use a custom queue

This means tasks are now generated on demand. Because I couldn't work
out what was causing a copy in a constructor ... this is an
alternative fix.