CTS native Alembic exporter

Source: cts_abc_exporter.cpp. CMakeLists.txt links Alembic::Alembic.
Pinned upstream libraries:
https://github.com/alembic/alembic/tree/1.8.8
https://github.com/AcademySoftwareFoundation/Imath/tree/v3.1.12

Build Imath static (BUILD_SHARED_LIBS=OFF, BUILD_TESTING=OFF, PYTHON=OFF),
then Alembic static (ALEMBIC_SHARED_LIBS=OFF, USE_HDF5=OFF,
USE_PYALEMBIC=OFF, USE_TESTS=OFF, USE_BINARIES=OFF), then this target.
Set CMAKE_PREFIX_PATH to their installation prefix. C++17 is used.
For the included Windows x64 build, MinGW-w64 GCC 13 POSIX was used with
-static -static-libgcc -static-libstdc++, then strip --strip-unneeded.
When cross-building 1.8.8 on a case-sensitive host, Ogawa/OStream.cpp's
Windows.h include needs lower-case windows.h to match MinGW headers.
The resulting writer imports only KERNEL32.dll and msvcrt.dll.
This executable is launched by Ruby Open3 with argument arrays and a temporary
working directory. It does not invoke a command shell or make network calls.

Input: little-endian CTSABC13 binary cache, written by direct_export.rb.
Output: standard Alembic Ogawa, positions in meters, selectable Y/Z up.
Usage: cts_abc_exporter cache.bin scene.abc
Inspection: cts_abc_exporter --inspect scene.abc

Bundled notices: Alembic BSD license, Imath BSD license, GCC runtime notices,
and GPLv3 text with the GCC Runtime Library Exception in its notice file.
The runtime exception permits independent application code under other terms.

1.3.1: the native writer/cache protocol is unchanged. Ruby writes clockwise
corner streams and partitions materials before calling this writer. Ruby can
pre-scale meter geometry AND meter translations by 100 for D5 compatibility;
cts_units is the native base unit before this export multiplier. clip.json
records the actual export multiplier and intended target. Normals are unscaled.
