Renderer-neutral semantic UI document section.
@type t() :: %Vibe.UI.Section{ description: String.t() | nil, id: atom() | String.t(), metadata: map(), title: String.t(), widgets: [Vibe.UI.Widget.t()] }
@spec new(t() | keyword() | map()) :: t()