Allows tests to use "meson test" instead of a shell script. This also
means that they now fully respect user-specified toolchain (e.g. clang
compiler, custom CFLAGS, etc). Running C++ test is conditional on
enabling INIReader support in the build.
```
1/16 test_multi OK 0.05s
2/16 test_multi_max_line OK 0.04s
3/16 test_single OK 0.04s
4/16 test_disallow_inline_comments OK 0.03s
5/16 test_stop_on_first_error OK 0.03s
6/16 test_handler_lineno OK 0.02s
7/16 test_heap OK 0.06s
8/16 test_string OK 0.06s
9/16 test_heap_max_line OK 0.05s
10/16 test_heap_realloc OK 0.05s
11/16 test_heap_realloc_max_line OK 0.05s
12/16 test_heap_string OK 0.04s
13/16 test_call_handler_on_new_section OK 0.04s
14/16 test_allow_no_value OK 0.03s
15/16 test_alloc OK 0.02s
16/16 test_INIReaderExample OK 0.02s
Ok: 16
Expected Fail: 0
Fail: 0
Unexpected Pass: 0
Skipped: 0
Timeout: 0
```
Co-authored-by: matoro <matoro@users.noreply.github.com>