list_templates: use Ada 2012 iterator interfaces instead of a bunch of formal subprograms for generic render