Build examples together

This PR speeds up the integration tests by about 30 minutes (before: ~38 minutes, after ~7 minutes).

It does this by concatenating the examples and compiling them together, instead of compiling them individually. This preserves many of the benefits of compiling (i.e. checking that the examples match the library), but obviously much more quickly.

If an example should not be compiled (e.g. it uses an external library for which no externs file is available) it need only include `// NOCOMPILE` as its first line to be excluded from the compilation.