JS::PersistentRooted originally required a context/runtime to be created in. However, SM38 added a way to create an unitialized one to be init()-ed later.
This can be used to remove DefPersistentRooted.
OG patch by @Itms
Part of SM52 migration, stage: SM45 compatible.