Add interned, canonicalized type representations
Convert BinaryData to use type representations
Support `new StructType({...})` and implement lookup hook
Add a test for equivalent struct type definitions