Simplify expressions more aggressively

Convert binary operator arguments to literals whenever possible.
Furthermore, check whether literals annihilate an expression.
For example, "false && x" always evaluates to false for all
Boolean values x.