Create `ImageIO` module.
Migrate image I/O functions to `DO/ImageIO` folder.
Create `UseDOImageIO.cmake` file.
Add stub unit tests for image I/O.
Rename project names.
Remove header inclusion.
Merge branch 'develop' into enh-create-image-io-module
Minimize the number of variables related to third-party software in CMake files.
Resolve compilation issues for Windows.
Add stub unit tests for ImageIO.
Add smart color conversion functions.
Add unit tests for smart color conversion.
Fix names of test cases.
Use template specialization to avoid ambiguity in template parameter deduction.
Unify API for `convert_color` and `convert_channel`.

`convert_color` and `convert_channel` can be replaced by a single method
`convert`.
Rewrite unit test for image conversion.
Additional test for smart color conversion.
Use lower_case_style and clean up code.
Clean up image I/O objects.
Add missing dependencies.