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