The authoritative node and edge selection for a scene.
@type t() :: %PhoenixDnd.Selection{ edge_ids: MapSet.t(String.t()), node_ids: MapSet.t(String.t()) }
@spec edge_selected?(t(), String.t()) :: boolean()
@spec new!(map() | keyword() | [String.t()] | t()) :: t()
@spec node_selected?(t(), String.t()) :: boolean()