TSSIM / JESIM v45 - finite-fault stamp plane-following depth

Changes from v44:
- In finite-fault stamp mode, the first stamp of a fault group now becomes the plane origin.
- Every later stamp in the same fault group is projected onto that origin plane.
- Moving a stamp along strike keeps the same top/reference depth.
- Moving a stamp in the down-dip direction increases top/reference depth by horizontal_offset * tan(dip).
- Moving a stamp up-dip decreases depth, clamped at 0 km.
- Bridge stamps inserted between two stamps also get their own plane-following depth.
- The down-dip/subsidence side is frozen for each fault group, alongside strike/dip/depth/width.

This prevents repeated shallow patches from forming a "solar panel" pattern when the user fills a large finite fault with multiple stamp rows.

Kept from v44:
- Stamps connect to the nearest existing patch in the same fault group.
- Ctrl+Z source-edit undo.
- Stamp width changes keep the aspect ratio.
- Stamp delay setting.
- Advanced node tuning, multiselect, and box-select.
- JESIM 5-minute transmission and packet_meaningful_update.
- Shimizu removed.
- External wall-clock 1x observation transmission.
- No display Y-axis flip.

Build:
  build_win_mingw.bat
  python jesim_ws_relay.py
