Describes an Elixir API exposed by a plugin for stateful eval sessions.
@type t() :: %Vibe.Plugin.API{ alias: atom(), description: String.t(), examples: [String.t()], module: module(), name: atom() }
@spec new(keyword() | map()) :: t()