CURA-12660
This required a refactoring of the management of the active view. The previous behavior was that anyone could set the active view, depending on certain conditions. But now we also have a view that is set by a tool, so sometimes the actually set view would be incorrect. Now each Stage requests an active view, and each tool CAN also request an active view. Then the Controller decides which view should actually be active depending on the active stage and tool.
Some stuff I had to ask the original implementer to explain to me. So I wrote that down so that the next guy doesn't have to do that.
Contributes to issue CURA-5829.