~ecs/hq

Add root filter
Fix send on closed channel
Further deadlock fixes
Send input datum from a separate goroutine

Fixes some deadlocks
Drop unused Expr.String()
s/git.sr.ht/d2evs.net/
Add totext filter
Add join filter
Send End datum at the end of the pipeline

Unused by current filters, but will be useful for filters which need to
do something when a channel is closed.
Expr.String: add parentheses for unambiguity
Add multi commands and parentheses

`f1 & f2 > f3` splits the input and passes it to f1 and f2, giving f3
both outputs as input. Parentheses are used to override precedence.
Add URL filters
Add . (attribute) filter
Dynamically type filters
Add sel filter
Add nop filter
Initial commit