So here is a patch for that.
There are a few cases that break when hiding all variable length fields:
Access to indclass in relcache.c, as discussed upthread, which should be
fixed.
Access to pg_largeobject.data. This is apparently OK, per comment in
inv_api.c.
Access to pg_proc.proargtypes in various places. This is clearly
useful, so we'll keep it visible.
So I think the relcache.c thing should be fixed and then this might be
good to go.