libsyntax: no inheritance with tuple/unit structs

Struct inheritance, unstable as it is, only really makes sense for
"record-like" structs and previously produced bad code when used with
unit-like structs or tuple structs. So this commit stops parsing
super-structs for unit-like structs and tuple structs, and rejects
virtual unit-like structs and tuple structs.

[breaking-change]