Introduce RegisterSnapshot as a compact, restorable representation of register content