One can actually just do `set_state(viewport=...)` if they want. The idea behind leaving each one separate (although it violates the single-way-to-do-things Python principle) is that it makes it easier for OpenGL novices to see what the options are, since the `gloo` namespace gets nicely populated with e.g., `set_viewport` and `set_blend_func`. These would show up in docs and in introspection nicely compared to `set_state`, which requires more knowledge of what those options are to use.