Use a descriptor for PipelineLayout (#206)

Adds support for structures inside descriptors.
diff --git a/examples/HelloTriangle.cpp b/examples/HelloTriangle.cpp
index 3d1636f..d51241e 100644
--- a/examples/HelloTriangle.cpp
+++ b/examples/HelloTriangle.cpp
@@ -115,9 +115,7 @@
         .SetBindingsType(nxt::ShaderStageBit::Fragment, nxt::BindingType::SampledTexture, 1, 1)
         .GetResult();
 
-    nxt::PipelineLayout pl = device.CreatePipelineLayoutBuilder()
-        .SetBindGroupLayout(0, bgl)
-        .GetResult();
+    nxt::PipelineLayout pl = utils::MakeBasicPipelineLayout(device, &bgl);
 
     depthStencilView = CreateDefaultDepthStencilView(device);