A lightweight single-header C++ library for converting between UTF-8, UTF-16 and UTF-32