[MAT-411] Use shared_ptr in FCOGTC

Now that OGTerminal does not hold an FCOGTC, it is possible to
replace FCOGTC's weak_ptr with a shared_ptr, because there is no
self-reference in doing so. Additionally, this makes FCOGTC safer
because it can never be holding an expired shared_ptr.