Drag constraint bounds for interactive canvas shapes.
Constructs drag bounds from a keyword list.
@type t() :: %Plushie.Canvas.Shape.DragBounds{ max_x: number() | nil, max_y: number() | nil, min_x: number() | nil, min_y: number() | nil }
@spec from_opts(keyword()) :: t()