Convert TwoTerminal to a more general MultiTerminal in Circ.asy.
This allows me to add switchSPDT, which has three terminals.
Label handling is also more flexible in the new system. By default,
labels will stay in their current positions (above/below in element
coordinates for label/value). However, the label text is no longer
rotated along with the element. If you want rotated text, you'll have
to rotate it yourself:
MultiTerminal Rpos = resistor(..., dir=90, ...
label=rotate(90)*Label("my label", align=W), ...);
The benefit to this approach is that you can now set your own
alignment, which will override the default above/below positioning.
This commit also makes some whitespace normalizations and bumps
Circ.asy to version 0.2. To upgrade code using Circ 0.1, make the
following changes:
* Replace TwoTerminal with MultiTerminal.
* Replace ang=... with dir=... in MultiTerminal initializations.
* Replace x.beg with x.terminal[0] and x.end with x.terminal[1].
* Adjust labeling as described above.
* Replace centerto with two_terminal_centerto.