When outliner datablocks are selected, switch the properties editors in the current workspace to the correct tab for that datablock.
Includes logic to ensure the tab doesn't switch to an unavailable tab when a datablock is pinned in a properties editor.
Also includes the grease pencil modifiers and grease pencil shader effects in the outliner tree.
Removes the edit/pose mode toggling when selecting those datablocks because that interferes with the properties sync and is handled in a different part of the project.