Objects to protected

Allow cache, lexer, parser and compiler to be overwritten by extending ExpressionLanguage.