Derive Macros

Allows for generation of a wgpu::VertexBufferLayout, which can be accessed by the LAYOUT constant on the macro.