foundations for improving state management in the engine. Mildly reflects how D3D11 does it, but imposing some heavy restrictions on how many of each state type we can have so that we can pack it all into RsRenderSort later on.