The current thread’s topmost frame object, materializing if necessary.
Unlike current_thread_frame(), this always returns Some if there is
an active frame, even if it’s stack-allocated and hasn’t been observed yet.
Uses vm.current_frame Cell for fast lookup (no TLS).
The frame offset positions below the current thread’s top frame (offset 0
is the top), or None if the stack is not that deep.
Materializes the FrameObject on demand for stack-allocated frames.