box: Add a precaution about undefined behavior of XXXX_BOX_TYPE_YYYY.user.id .
box: Use compound literal to convert 4-byte integer into NULL-terminated string.
box: Make consistent with return type of box constructor functions.
box: Rename CHECK_LARGESIZE into UPDATE_BOX_SIZE_COMMON_PROCESS.

The previous name of the macro is improper.
box: Simplify update of box size by using a fake bytestream writer.
box: Remove unused box size updaters.
box: Fix the timing of large size check when updating box size.
sample: More robust roll_distance decision for reordering.

Add comment about an approach to decide it.
box: Don't allocate cache for track when constructing 'traf'.

'traf' takes over the cache from 'trak'.
This fix a memory leak.
box: More macros to simplify box constructor functions.
box: Rename item_list, a member of 'ilst', into metaitem_list.
sample: Support AudioPreRollEntry.
box: Avoid using Statements and Declarations in Expressions.

This feature is an extension of some compilers and not included in C99.

Also cosmetics in isom_update_box_size().
sample: Avoid referencing uninitialized pointers.
fragment: Initialize TSAP, TDEC, TEPT and TPT always.

This initialization is redundant since these are unused when uninitialized
and are initialized always in used cases, but unclever compilers may
complain that these variables may be uninitialized.
box: More macros to simplify definition of box constructor functions.
box: Add ATTACH_EXACTLY_ONE_BOX_TO_PARENT macro for cosmetics.
box: Implement default arguments for cosmetics.
box: Simplify the definition of extension constructors.

Remove the definition of empty functions.
box: Simplify the definition of box destructor functions by more macros.