util: backport C++20 std::span and use it in various APIs

Implementation taken from span-lite by Martin Moene,
commit 337af6e23f6d3264136c16565546244da23159ba

Change-Id: Icfd0ba6841cbf6ef7870c31c881df940da9faf7e
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e988485..d9f98d8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -51,7 +51,7 @@
         include:
           - xcode: '12.5'
             os: macos-11
-          - xcode: '13'
+          - xcode: '13.2'
             os: macos-11
     runs-on: ${{ matrix.os }}
     env: