vulkaninfo: Add Driver Version handling
Previously, driverVersion fields were treated as hex values, when in
reality each vendor has their own specific format. This commit adds
parsers for Nvidia, Intel (windows only), and relies on the Vulkan
API format for everyone else. AMD uses the Vulkan API format. This
change applies only to the summary, text, and html output.
Add ostream<< operators for VulkanVersion and VkConformanceVersion,
rather than having bespoke to_string functions.
When printing versions, use the major.minor.patch as the primary output
and put the uint32_t form of the version in parenthesis. This moves the
more useful version info into the spotlight, putting the less useful in
parenthesis.
Rework the way secondary values (stuff in parenthesis after a value)
are printed.