Extend the RenderLane trait to support full resource ownership. Lanes will own and manage their GPU resources (shader modules, render pipelines, bind groups) instead of relying on externally created resources.
This includes:
Adding init(&mut self, device: &dyn GraphicsDevice) method to RenderLane trait
Adding shader_source(&self) -> &'static str method
Lanes create their own pipelines during initialization
Lanes manage their bind group layouts and bind groups
Depends on: #79 (Refine ISA Interface Contract)