mark functions: take ... instead of named arguments

This is so that you can do things like `mark_line(y~wt)` without having it
translated to something odd like `mark("line", x = y~wt)`.