On the wiki glPage you define the template as:
You quoted the definition of the Templet. The Template stays as it is. Note the subtle difference in naming. A Templet is merely a technical solution that belongs to the functionality of the Template. As such a Templet could be used on its own and delivers parsed content.
Application is intended for all code that has the need to assemble some html widgets depending on all kind of variable circumstances, like we can find all over the place. Think of prepared sql-statements which technique is similar: a sql-statement with parameters ('??'
and calls to replace them in order to avoid sql-injections.
Your proposal to have plugin-directories in the theme-directories is conform the current directories in the public_html. Looks good. Though is does not solve the slight problems that such a customised directory shows upon new releases of GeekLog: when the theme changes, I figure the customisations should change too. Another solution could be to have a non-selectable 'custom' theme that contains all the customisations either for a specific theme, either for all themes, either just for admin. I'm not sure, and consider this as a tough design problem.