Drag and drop local zip file install for ExtensionManager

Adds drag and drop support to the `ExtensionManagerDialog` to allow users to install extensions via local zip files from the native file system. The rough workflow is below:

1. Open extension manager
2. Drag and drop zip from Explorer/Finder onto extension manager dialog
3. Open `InstallExtensionDialog`
4. Validate the zip is an extension
5. Check if the zip should be installed or updated
6. Install

FYI I noticed #8165 while debugging this branch. It also appears on master.

This new workflow allows users to experiment with extensions not yet delivered via the Extension Registry and  that are also not available via a public URL.
That's API compatibility that we check. I don't think we block installation of older versions anywhere. If someone wants to install an older version of an extension and it's compatible, we don't stop them.