Layers: Implement PV per-API ext dependency checks

As each API is used, PV will now us a code-generated check to verify
that all of the required extensions for this particular API call have
been enabled via CreateInstance or CreateDevice.

Change-Id: I1c11d0b8322edf005b2b197a415c92a82e0cb810
diff --git a/layers/parameter_validation_utils.h b/layers/parameter_validation_utils.h
index a0f268b..0d6ec26 100644
--- a/layers/parameter_validation_utils.h
+++ b/layers/parameter_validation_utils.h
@@ -119,7 +119,9 @@
 const uint32_t MaxEnumValue = 0x7FFFFFFF;
 
 // Forward declaration
-bool ValidateRequiredExtensions(std::string api_name, const std::vector<std::string> required_extensions);
+template <typename T>
+bool ValidateRequiredExtensions(const T *layer_data, const std::string &api_name,
+                                const std::vector<std::string> &required_extensions);
 
 template <typename T>
 bool is_extension_added_token(T value) {