You should use the whole closure library and then include soyutils_usegoog.js from the sources of closure templates + your own source files.
Closure templates were trying to be a separete independant library, that's why they "copy" a lot of Closure Library. The duplication grew larger and they decided to have dependancy on Closure libary.
So now, instead of using soy.renderAsElement from closuretemplatesSoyUtils.js file, they are using soy.renderAsElement from soyutils_usegoog.js inside the template library sources.
Probably you are not familiar how compilers work, so in a vary simple way I would try to explain it.
If you have two separate files with the same function name but different implemantation functionA_v1.js and functionA_v2.js
When my source file uses functionA() it doesn't care from which file that function comes. So you just include in the compiler command line the file that you want.