A single port may have multiple layers of physical waveguides.
Dont want to have multiple port objects for representing a single I/O.
Pass layers/widths as a dictionary, to allow support for other information as well?
How would arguments for PhotonicPort look?