Update spirv-opt to use spvtools::Optimizer
Update spirv-opt to use spvtools::Optimizer

Exercises our public APIs more, and avoid including most
internal headers.  It also shortens the processing part
of the code, but does make adding passes look more complex.

Doing this exposed issue 611, a bug in spvtools::Optimizer.

antiagainst/SPIRV-Tools,LukasBanana/SPIRV-Tools,dneto0/SPIRV-Tools,antiagainst/SPIRV-Tools,pierremoreau/SPIRV-Tools,greg-lunarg/SPIRV-Tools,KhronosGroup/SPIRV-Tools,dneto0/SPIRV-Tools,LukasBanana/SPIRV-Tools,KhronosGroup/SPIRV-Tools,pierremoreau/SPIRV-Tools,greg-lunarg/SPIRV-Tools,pierremoreau/SPIRV-Tools,pierremoreau/SPIRV-Tools,KhronosGroup/SPIRV-Tools,pierremoreau/SPIRV-Tools,KhronosGroup/SPIRV-Tools,KhronosGroup/SPIRV-Tools,dneto0/SPIRV-Tools,LukasBanana/SPIRV-Tools,dneto0/SPIRV-Tools,KhronosGroup/SPIRV-Tools,greg-lunarg/SPIRV-Tools,antiagainst/SPIRV-Tools,KhronosGroup/SPIRV-Tools,KhronosGroup/SPIRV-Tools,pierremoreau/SPIRV-Tools,antiagainst/SPIRV-Tools,antiagainst/SPIRV-Tools,pierremoreau/SPIRV-Tools,dneto0/SPIRV-Tools,pierremoreau/SPIRV-Tools,dneto0/SPIRV-Tools,dneto0/SPIRV-Tools,dneto0/SPIRV-Tools