C Wrapper: Move opaque types to separate header