Update pagetemplater.php

The cache key was incorrectly set if the theme was in an alternate directory due to the use of the register_theme_directory() function.  Obtaining the theme root and stylesheet directly from the theme object fixes this issue.  Also, there is no need to use wp_cache_delete() followed by wp_cache_add()... just use wp_cache_set() to replace the existing cache value.