Avoid inheriting expr.Variable from boolfunc.Variable

Per issue #20, we need a way to implement Variables as tables, BDDs,
etc, while keeping the boolfunc.Variable instance a singleton.

The solution is to just use composition instead of multiple inheritance.
Now the new expr.ExprVariable class *contains* an instance of
boolfunc.Variable.
Simplify Variable/Complement support property