Correctly handle filter arguments with empty values

I've noticed that using the `prepend` filter with a variable argument which has an empty (but defined) value results in the variable name being prepended instead of an empty string, i.e.:

```perl
Template::Liquid->parse("{{ foo | prepend: var }}")->render(var => '');
# result: "varfoo" (expected: "foo")
```

This change fixes this.