evaluates the expression using the current variable values and returns
the result
(ExpressionEvaluator does some down casting on the ExpressionItems when
evaluating expressions.
If this is a LEFT parenthesis, this is moved to the hold stack; If
it this is a RIGHT the hold stack is moved to the RPN stack, except
if exprItem is a Parenthesis (delete hold stack) or null (error).
If the left mouse button is pressed, global variables are used to
store the mouse location for use with a zoom.
If right mouse button is pressed, the popup menu is
displayed.