Changed the 'powerable' class to implement '(^)' rather than '(^*)' as its method.
This obviously clashes with '(Prelude.^)', which, criticisably, has not only less general, but incompatible signature. However, exponentiation being such an ubiquitous operation, it is worthwhile to keep it as short as possible. More importantly, its simple form, e.g. @x^2@, can be confused with @x Prelude.^ 2@, which, efficient though it is for usual data types, behaves completely unsuitable for 'MathExpr's (e.g. @x*x*x*x@ for lengthy x... extreme expression bloat); so it is actually something of a safety measure to force an error in such unqualified, likely unintended uses.
Moved most important functions concerning the 'MathEvaluation' types to a seperate, internal module.
Moved more code out of the Prelude module; mode VoidCalc expressions somewhat usable.
Prepared to use the render-config to selectively render e.g. multiplication signs according to the kind of expressions involved.
Inclusion of a reader monad into the rendering pipeline wiring, to ask render configuration details.
Made multiplications actually read the configurable math symbol translation table.