example project showing how to use `extern template` to split up compilation into separate translation units