There were two issues with the existing DEFINE_CLASS_#() macros. First,
the parent count was capped at 3 since every count needed a distinct
macro. Second, many uses wanted the class variable to be overtly
static (private).
By using VA_ARGS and VA_OPT there is no longer a need for a
distinct macro for every parent count. This also allows for there to be
a single static version of the macro. Also start using a designated
initializer for the main structure.