internal/Graphics: Add ShadowState struct