Hephaestus: Solving the Heterogeneous, Highly Constrained Analog Placement Problem