Prevent ALL templates from being rendered directly?
This is very, very simple to do... just put every single template into a specific folder, then prefix the folder with an underscore:

/craft/templates/_everything/


Template files beginning with underscores are hidden, similarly, template folders beginning with an underscore hide everything inside.