This implements signed cookies in the same way as gleam and elixir-plug in order to be easily compatible with those libraries.
Additionally, the payload of the cookie is JSON, allowing for multiple values to be stored in a single cookie in a format easily read by other languages.