Ported `templating` package

Still need to figure out a way to integrate it into the build process.
Refactoring the build system, part 1