[WIP] Rewriting the Univariate Solver

This PR aims to rewrite a cleaner and robust univariate equation solver.
- [ ] Univariate
    - [x] polynomial
    - [x] rational
    - [ ] trigonometric
    - [ ] functions with exp and log
- [ ] Multivariate
I misunderstand this part:
> I prefer with assuming to assume= because it lets us (for now) avoid the decision of which assumption system to support in

The problem is - there is no difference.