Deterministic focus ring helpers.
@type t() :: %Cringe.Focus{ids: [term()], index: non_neg_integer()}
@spec current(t()) :: term() | nil
@spec focused?(t(), term()) :: boolean()
@spec new( [term()], keyword() ) :: t()
@spec next(t()) :: t()
@spec previous(t()) :: t()