Functions of compound types not sortable (despite smart tag)
### Summary
[The docs](https://www.graphile.org/postgraphile/smart-tags/#sortable) state that:
> Functions returning `SETOF` a composite type (e.g. a table type, record type, or another type with "column"-like attributes): adds the `orderBy` argument to this connection, allowing to sort the set by its columns/attributes.

HOWEVER: an `orderBy` field does not appear when I created my own composite data type using `CREATE TYPE`.

[This commit](https://github.com/graphile/graphile-engine/pull/378/commits/452ecf42d09f04e6a58f244af5c1263d9805f10f) put the sortablility in place -- however, it only ever tested record types from tables, and not custom created ones. This is likely why the bug got through.

### Steps to reproduce

Create the following test database:
```sql
-- All this occurs in a database called 'test_db' -- run `createdb test_db`

drop schema if exists test cascade;
create schema test;

-- Create a basic table which we'll use to get some values.
drop table if exists test.basic_data;
create table test.basic_data(
    a int primary key,
    b int,
    c text
);

-- populate the table with a bit of dummy data
insert into test.basic_data(a, b, c) values
(1, 2, 'hi'),
(3, 4, 'there'),
(5, 6, 'friend');

-- A compound type we'll later try to query
drop type if exists test.compound_type;
create type test.compound_type as (
    x int,
    y text
);
comment on type test.compound_type is E'@sortable'; -- Hail Mary comment, hoping it would work.

------------------------------------------


-- This IS SORTABLE: A basic table select function works
drop function if exists test.f;
create function test.f() returns setof test.basic_data as $$ select * from test.basic_data $$ language sql stable;
comment on function test.f is E'@sortable';

-- However, this function is NOT sortable: a function returning a compound selection is NOT sortable (no orderBy field)
drop function if exists test.g;
create function test.g() returns setof test.compound_type as $$ 
    select a as x, c as y from test.basic_data 
$ language sql stable;
comment on function test.g is E'@sortable';
```

A little script to start the server:
```sh
npx postgraphile \
    -c postgres://localhost/test_db \
    --schema "test" \
    --enhance-graphiql \
    --allow-explain \
    --watch
```

Below is a screenshot from the PostGraphIQL query explorer. Note that function `f` CAN be sorted, but `g` CANNOT be.

<img width="321" alt="schema" src="https://user-images.githubusercontent.com/35848824/110538369-fb81e600-80f1-11eb-9904-c06d53a9b6fa.png">


<!-- All bug reports should include detailed steps to reproduce. -->

### Expected results
Expected to see an 'OrderBy' field in `g`.

<!-- Outline what you expected to see -->

### Actual results

You don't see an 'OrderBy' field in `g`, but you do in `f`.
<!-- Outline the actual results -->

### Additional context

<!-- Please provide additional context such as environment versions (including
      operating system, Node, PostgreSQL, Redis, etc. as relevant), software
      versions (from `yarn.lock`) or similar, plugins in use, database schema
      if relevant, bundler (if any). -->

MacOS Catalina, 10.15.2
Node: 15.6
Postgraphile: 14.11.0
Postgres: 13.1