add Operation#applyContextOptions()

This gives us support for `alpha` and `mode` options in subclasses.

Also, document some shit.