fix(resample): 重采样间隔/频率按真实值显示（次级单位与频率保留三位小数）

问题（用户实测 MF4-Record.MF4 / m_MOT_Current_DCom[0]）：
- 最小数据间隔真实值 0.003696631s，却被显示成 3ms 700us（us 部分被向上截取）；
- 对应频率真实值 270.516586589Hz，却被显示成 270.27Hz；
- 最大数据间隔 0.016182614s 显示成 16ms 200us、频率显示成 61.7284Hz，同样不准。

根因（两个，同一个坑）：
1. RoundIntervalForDisplay() 把间隔先舍入到 3 位有效数字（0.003696631 -> 0.0037），
   次级单位因此变成 700us，真实尾数被抹掉；
2. 频率用舍入后的 3.70ms 换算得 270.27Hz，而输入框用原值得 270.517Hz，两处不一致。

修法（一律使用真实值，舍入只发生在输出文本的最后一步）：
- Utf8Util 新增 FormatDecimalFixed(value, decimals=3)：固定小数位、保留尾随 0、
  绝不出现科学计数法；
- Utf8Util 新增 FormatSubUnit(value, maxDecimals)：带小数才补到 3 位，整数不加小数点
  （5.06s -> 5s 60ms，而不是 5s 60.000ms）；
- FormatDurationCompound 的两处次级单位（s+ms、ms/us/ns）改用它；
- FormatFrequency 改为 FormatDecimalFixed(scaled, 3)；若保留 3 位后变成 0.000
  （超低频，如 1/3662s ≈ 0.27mHz）则退回 FormatDecimal，避免有意义的值显示成 0；
- PlotViewInternal.hpp 删除 RoundIntervalForDisplay，FormatIntervalText 直接用真实值；
- PlotViewPaint.cpp 的统计行尾缀与频率输入框都用真实 interval 换算。

修复后的显示：
  min interval 0.003696631s -> 3ms 696.631us
  frequency   1/0.003696631 -> 270.517 Hz
  max interval 0.016182614s -> 16ms 182.614us
  frequency   1/0.016182614 -> 61.795 Hz

同时撤销了此前两次仅修改 agent_mem.md 的提交（47b1213 / caa035a，内容为乱码且无有效信息），
并按正确编码重新整理本轮记忆章节。

面板仍为四行（最大间隔 / 最小间隔 / 重采样间隔 / 重采样频率），未改动任何 UI 布局。
make release 零 warning。
