Fix the expression parser builder performance

This patch basically mimics what is done in Parsec. Without this change,
Text.Parser.Expression is about 120 times slower than Text.Parsec.Expr.