feat: allow objects with the 'apply' method in pipe expressions

This adds possibility to use objects with the `apply` method in pipe expressions. 

I didn't address corner cases in this PR (ex.: trying to invoke something that is not a function) as we've got a separate issue for this (https://github.com/ariatemplates/hashspace/issues/236) and I plan to review error handling in there.