Move bundled templates out of the source code. They could be included from a resource file/folder, which should also work from inside a package (WRT #31).
Only one template per file. Each template's name is derived from its filename by removing the file extension (or using no file extensions at all). No need to parse the name from its content.
Simplify image serialization. Get rid of JSON, square brackets, commas. Only one byte per "pixel", newslines as row delimiters, and no other whitespace. Numbers 0-4 as well as the ASCII representation work with that. Would greatly simplify parsing as well as template creation.
I have a few suggestions regarding templates: