fix(watchgroup): also support method invocation on the empty string

0965401fa009718e8f4aabda4f279884efaec646 added support for method invocation on primitive types,
however the empty string is treated as a null value, and is neglected. While there is no good
reason to call a method on the empty string, it is now possible.

Closes #18
test(watchgroup): add test to verify that filter implementation works correctly

My understanding of the algorithm for calling filters is that they should be
implemented as a series of PureFunction calls, as they should produce output
consistently, based on the initial input and other arguments.