Allow root containers to gather GC::Ref<T> and GC::Ptr<T> by treating their stored pointer as a Cell pointer. This avoids requiring T to be complete when rooting containers such as RootVector<GC::Ref<T>>.
Add a small helper for turning root container values into Cell pointers, and use it from RootVector, RootHashTable, and RootHashMap.