fix WirePointer::target and mut_target to properly handle negative offsets