libDIPS – discretization-based semi-infinite and bilevel programming solvers | Synapse