Changed the CppTPGFactory::scanPlugins() method to stop deleting the CppTPGPlugin objects each time because pointers to these objects are still being held by parent objects.  As an alternative, we now check the plugins that we've already seen (by file name) and only load those that have not been loaded before.  This fixes a crashing bug when a newly added TPG object is selected and its properties listed.  i.e. the object used to find the properties had a stale pointer