Migrate struct error handling from DSLType to SkSLType.

`DSLField` holds slightly more positional information than
`SkSL::Type::Field`--modifiers in DSL have yet to be pooled, so they
have individual positions. Because of this, there are some small diffs
in the test output; any modifier errors have grown slightly and now
highlight the entire SkSL field. Other than this, there isn't any real
change here; we now enforce errors on struct definitions with or
without DSL's involvement.

Change-Id: Ie3644c6c3b1c29eaf7873ba40b6204cd3c9f1702
Bug: skia:13821
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/595216
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
12 files changed