layers: Add param checks for CreateInstance/Device

Add parameter checks for vkCreateDevice and vkCreateInstance.
Includes a local fix for GitHub Vulkan-Docs issue #104 to
prevent false positives from being generated for the
pCreateInfo->pEnabledFeatures == NULL case.

Change-Id: I1f3642e7e18c8bfb32b0996b6e2e57a5f9d8e011
diff --git a/vk.xml b/vk.xml
index 41e151a..c863c5a 100644
--- a/vk.xml
+++ b/vk.xml
@@ -488,7 +488,7 @@
             <member optional="true" len="enabledLayerCount,null-terminated">const <type>char</type>* const*      <name>ppEnabledLayerNames</name></member>            <!-- Ordered list of layer names to be enabled -->
             <member optional="true"><type>uint32_t</type>               <name>enabledExtensionCount</name></member>
             <member optional="true" len="enabledExtensionCount,null-terminated">const <type>char</type>* const*      <name>ppEnabledExtensionNames</name></member>
-            <member>const <type>VkPhysicalDeviceFeatures</type>* <name>pEnabledFeatures</name></member>
+            <member optional="true">const <type>VkPhysicalDeviceFeatures</type>* <name>pEnabledFeatures</name></member>
             <validity>
                 <usage>Any given element of pname:ppEnabledLayerNames must: be the name of a layer present on the system, exactly matching a string returned in the sname:VkLayerProperties structure by fname:vkEnumerateDeviceLayerProperties</usage>
                 <usage>Any given element of pname:ppEnabledExtensionNames must: be the name of an extension present on the system, exactly matching a string returned in the sname:VkExtensionProperties structure by fname:vkEnumerateDeviceExtensionProperties</usage>