Many of the more complicated CMake projects can't be added to the IDF
build system simply by calling add_subdirectory.
"add_subdirectory" also cannot be used with projects which use build
systems other than CMake (for example GNU Make or cargo).
This commit changes the example to use ExternalProject_Add, instead,
which is a more general way of adding subprojects.
As part of this change, tinyxml2 is now downloaded from the Internet,
which allows removing one submodule.