Move solving logic from `circuit` to `analysis`, and split out matrix library
This commit separates the circuit definition (resistors, op-amps, etc.) from the solver and matrix libraries. Now, in theory, the circuit definition can be used not just for small signal AC analysis (as was previously available), but also for any other linear circuit analysis. Furthermore, the matrix library has been split into its own module - `solve` - to allow for other libraries to be used in the future. The matrix library preference is controlled via the configuration file.