Log Message: 
Formulas can now be compared even if their variables are complex
numbers, or even points or vectors! This makes it possible to ask
students for complex functions like z^2+i and so on.
You can specify limits for variables either via
Context()>variables>set(x=>{limits=>[0,1]}) (for reals) or
Context()>variables>set(z=>{limits=>[[2,2],[0,1]]}) (for complexes).
Similarly for points and vectors (where the number of sub arrays
depends on the dimension). You can also give the limits for a
specific formula by assigning to its >{limits} field:
$f = Formula("sqrt(x10)");
$f>{limits} = [10,12];
There are now named variable types for 'Point2D', 'Point3D',
'Vector2D' and 'Vector3D', in addition to 'Real' and 'Complex'.
You can also specify a variable type by giving an explicit instance of
a value of the given type. E.g.
Context()>variables>add(x=>'Real',y=>0); # two real variables
Context()>variables>add(z=>'Complex',w=>i); # two complexes
Context()>variables>add(r=>Vector(0,0,0)); # a vector in R^3
Context()>variables>add(X=>'Vector3D'); # a vector in R^3
There still needs to be more error checking in processing
usersupplied limits, but I'm not sure how much overhead is worth it.
