Abstract away the R6 object creation (breaking change)

Basically, replace

    maker$new(...)

with

    maker(...)

This is the only user-facing R6 class so this is the only class that
gets this treatment.  This causes a massive pile of trivial changes
in the tests.  The wrapper functions and script are unchanged.