[WIP] Rewriting the Univariate Solver

This PR aims to rewrite a cleaner and robust univariate equation solver.
    - [x] polynomial
    - [x] rational
    - [x] trigonometric
    - [ ] functions solvable by LambertW
> Then lets remove this heuristics and add methods that always work for some class of equations.

I have removed the previous heuristic and the method of substituting `y = f(x)**Rational`.