Interface description language for defining data structures that can be serialized and deserialized in a standard, cross-platform way