Adding compatibility with symfony/expression-language

Adding the ability to process string expressions using the
symfony/expression-language. It keeps backward compatibility to the
provided operators and with any new operator defined using the default
mechanism.

One upside down with this approach is that you can have a full object
inside the context and evaluate on its attributes using a symfony
expression.
The `ExpressionLanguage` doesn't provide a validation per se, basically when the expression gets parsed the validation is done inside the `Parser` class, if an error is found, a `SyntaxError` exception gets thrown (with a hint message) but this only happens when the expression is evaluated. 

A couple of problems: there is no way of "validating" or syntax checking the expression before evaluation happens. One work around could be to parse the expression first (into PHP code) using the `parse` method in the `ExpressionCondition` constructor (the context keys are required for this operation) an then just evaluate this code on the `holdsFor` method. This way it's kind of ok despite of the requirement of the `Context` keys added to the class constructor. 

The other way could be to catch the `SyntaxError` on the `holdsFor()` method and default to false, leaving the decision to the rest of the conditions in the same `Toggle`. Or just report this exception back to the user if it gets thrown.