Zink add moltenvk support
Two commits that help allow Zink to run on MacOS via MoltenVk.
(1) allow instance creation to have optional layers and extensions. (2) allow the MacOS only MoltenVK layer and extension to be used. (3) get the MoltenVK function pointers allowing for some of the MoltenVK behaviours to be changed. (4) changed the default MoltenVK swizzeling behaviour from none to enough for zink to not fail pipeline creation.