Rewrite the core using CLOS.

Heavily inspired by sympy's object-oriented system.
Improvements include:
  * More modular framework for adding methods to types of expressions
  * Simplification for polynomials
  * A macro that compiles a string DSL into lisp code
  * Shadowed cl functions in a generic fashion, much like sympy's	overloaded operators
  * Extensible print methods for pretty printing
  * Maclaurin series expansions
  * Lisp objects, instead of lists
  * Prelude to sums and integrals representations
  * Nth derivatives