graphics: Add EGL and Vulkan ICD enumeration
Includes !57 (merged), !59 (merged), !60 (merged).
This is necessary for pressure-vessel containers to support Vulkan: to be able to make the Vulkan ICDs available in the container, we have to be able to find them, bind-mount them into a suitable location, and provide corresponding ICD JSON metadata to the contained game.
As a nice side-effect of writing the ICD enumeration in steam-runtime-tools instead of in pressure-vessel, we can also make that information available for debugging/diagnostics.
Edited by Simon McVittie