wedge_sampler: allow unlimited samples or no sampling
streaming: move Context::output out as Output

the original output member function won’t work if the context is a
derived class of Context<T>, as (*this) will have to still point to the
base class, aka Context<T>, not the derived class.
streaming: alias placeholders
root: name this project

So that all binaries will appear on the root of the build directory
instead of their own path.