Stitching: refactor downsampling

Updated the Downsampler API to be more flexible, so that all Stitching
pathways can take advantage of downsampling.
Stitching: generalized generateRois logic

Updated the generateRois logic so that it will correctly generate ROIs
regardless of how the stitching was performed.

Previously, generateRois would only work properly if "positions from
metadata" stitching was used. By updating how the tile positions and
names were calculated, now it should work for all types of stitching.
Stitching: don't add multiple RoiPickers

When "Add tiles as ROIs" is selected, previously each time stitching
ran, RoiPicker would run as a plugin, causing "tool already exists"
messages to pop up on subsequent runs.

Added logic to check if the tool already exists. If it doesn't, it's run
as a plugin as before to enable and select it. If it does exist, it's
simply selected in the toolbar.
Merge branch 'stitching_fixes'

Expanded the "Add tiles as rois" and "Downsample" grid stitching options to
work in all grid stitching scenarios, and made them more stable overall.