Add a test for recursion in structure members failing validation (#1983)
We normally check for recursion from the entry point in hlsl::DiagnoseTranslationUnit, at the end of AST parsing, but we can't do that when we compile for library targets because we have no entry point. This adds a test that we still fail validation.