Make render_html support nodes with no children

For empty inline nodes like EMPH, the parser always creates a child
containing an empty string. Using the tree manipulation API, nodes with
no children can be created. Adjust render_html to cope.
Add node constructor and accessors to the public API

The approach I'm taking is to copy inline literals internally to
NULL-terminated C strings if requested by an accessor. This allows to
return a 'const char *' that doesn't have to be freed by the caller.
Start with tests for the C API

The C API tests can be run individually via

    build/api_test/api_test

Or together with the spec tests via

    cmake --build build --target test
Try to support older CMake versions
Add header file to CMake api_test sources
Set compiler flags for api_test
Fix api_test warnings
Merge branch 'api_tests' of https://github.com/nwellnhof/CommonMark into nwellnhof-api_tests
Add api_test directory to archive.