Remove midl.py dependency on output location

midl.py currently does some path munging that is better handled by midl.gni.
It has knowledge of 'third_party' and 'win_build_output' and these should be
an argument to the script provided by the build system instead of knowledge
intrinsic to midl.py.

This changes moves that logic to midl.gni. midl.gni produces the same default
path that midl.py previously generated (so net result is a no-op).
browser_switcher/bho is the only consumer that had custom logic that needed
to explicitly specify the output location. Additionally, this enables
other IDL producers to specify a non-standard place to persist the IDLs if
they so desire.

Details:
midl.py/gni facilitate IDL compilation. Nominally, one would run midl as part
of the build process and be done with it. However, to support cross-platform
compilation, IDL generation is done on Windows clients and persisted in the
source tree. This way platforms that can't run midl directly can still
produce a Windows build.

For a given IDL, in the source tree |somewhere|, the standard location for
the checked in midl outputs is third_party\win_build_output\midl\|somewhere|.
midl.py knew how to get from the IDL built outputs (in |gen|) to the standard
location. Now midl.gni has that knowledge, additionally some other location,
other than the standard location may be used, if necessary.

Bug: 976936
Change-Id: Ibd448c8d59cc59e19c26beb8235c6f581182061e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1666483
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Reviewed-by: Nicolas Ouellet-Payeur <nicolaso@chromium.org>
Commit-Queue: Scott Sheehan <ssheehan@microsoft.com>
Cr-Original-Commit-Position: refs/heads/master@{#672109}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9716b532632dc772f68f62f258901c282e9888d4
2 files changed