refactor: replace mamba_protocol with balance_protocol, remove all Mamba/STM32 refs
- Add balance_protocol.py: canonical CAN codec for Orin <-> ESP32 BALANCE + VESC
- ORIN_CMD_DRIVE 0x300, ORIN_CMD_MODE 0x301, ORIN_CMD_ESTOP 0x302
- FC_STATUS 0x400, FC_VESC 0x401; VESC_LEFT_ID=56, VESC_RIGHT_ID=68
- Delete mamba_protocol.py (had MAMBA_CMD_* 0x100-0x102, MAMBA_TELEM_* 0x200-0x201)
- Rewrite can_bridge_node.py: uses balance_protocol, can0 interface, no mamba_can_id param
- Rewrite test_can_bridge.py: tests balance_protocol encode/decode
- Rewrite saltybot_can_e2e_test: protocol_defs.py + all 5 test files use new IDs
- Update saltybot_bridge: stm32f722 → esp32_balance in hardware_id fields
- Update configs/YAMLs: remove Mamba F722S/STM32F722/slcan0 references
Hardware: Orin Nano Super, ESP32-S3 BALANCE, ESP32-S3 IO, FSESC 6.7 VESC ×2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>