Make external dependencies external
Accessing included libraries from the host and/or from external repos helps improve maintainability and enforces good programming practices.
cJSON is an actively maintained, common package available through vcpkg and other managers, so it is done via cmake find_package.
lodepng is actively maintained but does not release, so it is done via cmake FetchContent.
Lumpmod is an internal tool from 2003 with no official repo AFAIK, so it is ok to keep a copy of it I think. Maybe a separate repo should be made for it?
This MR is based on !8.