COMP: fix warnings about unsigned less than zero
ENH: add CPU/GPU preference option and port to current slicer master