Abstract `template` module as an external dependency.

由于 adapter 的数量增多，将其分为 `adapter-mod-*` 和 `adapter-dist-*` 两类以便管理。