fix(expressions): correct lexer behavior for operators not separated by a whitespace
fix: bind | operator functions to proper 'this'
fix(expression): expr with [] are now assignable

Expressions like `foo[bar]` were considered as non assignable.
Fix now turn assignable all of these examples

`foo[bar]`
`foo.bar[baz]`
`foo[bar].baz`

Fixes #266
Closes #267
feat: allow objects with the 'apply' method in pipe expressions

Closes #268
fix(expressions): observing algorithm adjustements