Setup first sets up Group, uses the title font, creates parsed text for
each title, computes tab dimensions and installs a mouse/raw-key
handler. Text allocation failures are not checked: depending on
preferences, later width calculation or Cleanup can dereference NULL.
Cleanup destroys parsed texts, removes the handler, then cleans Group.
Dispose frees the item array then disposes Group; it does not replace
Cleanup.
AskMinMax takes Group constraints, raises width requirements for tabs
and sets MaxHeight to MUI_MAXMAX; it returns TRUE. Layout reads
Group_ActivePage, adjusts inner margins and tab hit boxes, invokes Group
layout and returns TRUE regardless of its result. Show similarly returns
TRUE without propagating superclass failure. Draw invokes Group then
draws tabs for full/update flags; otherwise returns zero. It does not
honor a FALSE Group Draw result as a reason to stop drawing tabs.
The event handler maps Press/Right/Toggle to next page, Left to
previous, WordLeft/LineStart to first and WordRight/LineEnd to last.
Clicking another tab selects its index. Handled changes return Eat,
other events zero, without superclass event delegation. Setters use
Group_Forward FALSE, which still permits notifications.