Rigidly relocate a group of selected child-block pins along their block
edges, entered by dragging any pin of a MultiPinSelect. The whole group
shifts by the same number of slots (clamped so it stays in-bounds) and each
pin takes the side under the cursor. The drop commits only if the new
placement is collision-free; either way it returns to MultiPinSelect with
the same pins still selected.