Desired host capability resolved to installable resources for a target system.
@type t() :: %HostKit.Resources.Capability{ candidates: [String.t()], depends_on: [term()], meta: map(), name: atom() | String.t() }
@spec id(t()) :: {:capability, atom() | String.t()}
@spec new( atom() | String.t(), keyword() ) :: t()