In some cases, multiple viewers can be active and the active viewer is
not the desired one. This is only a problem for the compositor
The fix has two parts:
1. Tag the node tree as changed after the output changes. This solves
the issue of two viewers being active at the same time
2. Deactivate all other viewers before activating the desired viewer
node (similar to how `NODE_OT_activate_viewer()` works). This ensures
that the only active viewer is the one that the user just set.
Pull Request: https://projects.blender.org/blender/blender/pulls/138671