STYLE: Add icon for Extension Wizard module

Reorganize Extension Wizard module resources to account for the
directory structure being conducive to generating a compiled resource
script in a reasonable location. Add rules to generate and import the
same. Add code to set the module icon resource.
COMP: Ensure output directory exists

Tweak slicerFunctionAddPythonQtResources to also include a rule to
ensure that the output directory for the resource script exists. This
fixes build errors on non-Ninja clean builds.
ENH: Also find templates in build (source) tree

Add slicer.util.sourceDir() convenience method to retrieve the Slicer
source directory, when running from a local build tree. Change Extension
Wizard module to prefer to use templates from the same, if available.
ENH: Create CLI Extension Wizard 'launcher'

Create a wrapper script to set up the environment (using the Slicer
launcher's --launcher-show-set-environment-commands) and execute the CLI
Extension Wizard via the appropriate Python interpreter. (Also, install
the Python application launcher wrapper for the same.)

This should provide a single, consistent mechanism for running the CLI
Extension Wizard (from a bash shell) from both build and install trees,
and regardless of whether system or Slicer-built Python is used. (On
Windows, git-bash must be used.)