Implement CMake interface library, install rules
This PR adds an installable interface library to the existing CMake script. You can try it by running:
cmake -B build
cmake --build build --target install
After running this command, bcdec will be accessible from other CMake projects using find_package(bcdec).
Test code and the bcdec header were split for convenience of writing the installer, and because some projects want to add the folder containing the bcdec header to include directory list but ship with their own copy of stb_image_write. No install rules are created for the test executable currently, let me know if that is desired.
The CMake version being bumped to 3.21 was necessary for PROJECT_IS_TOP_LEVEL, let me know if this is too high and I can lower it (but it will look less clean). 3.8 was already giving me warnings about deprecation on CMake 3.31, so this should be for the best for future compatibility regardless.