Abstract and decouple path selection from circuit construction

For #9001 (moved), we first need to abstract the existing path selection mechanisms and make sure they are tested and equivalent.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information