RustDesk 1.5.0 Android bridge build

Upstream source: https://github.com/rustdesk/rustdesk/tree/1.5.0
Tag tree SHA: fada664df7a294d1d1a9ca3e7cd3637069122f17
hbb_common submodule: 229b904508364c8997aad0fb5af57effac859f60

The existing official RustDesk 1.5.0 native Android libraries are reused
without modification. Flutter UI/Dart code is rebuilt from source.

Generated bridge tool: flutter_rust_bridge_codegen 1.80.1, official release
binary flutter_rust_bridge_codegen-x86_64-unknown-linux-gnu-v1.80.1.tgz.
Rust metadata/rustfmt tooling: Rust 1.75.0. Dart 3.5.4 from Flutter 3.24.5.
ffigen: 8.x. libclang: 18.1.1 wheel (isolated, build-time only).

To avoid downloading/building the unchanged Rust/vcpkg dependency stack,
bridge-crate contains a byte-for-byte copy of upstream src/flutter_ffi.rs
with a minimal Cargo manifest named rustdesk, lib name librustdesk, and a
lib.rs that declares flutter_ffi and bridge_generated modules. The generator
parses the API syntax; no Rust executable or library is compiled here.

Generated outputs: generated_bridge.dart, generated_bridge.freezed.dart,
bridge_generated.h. The first two are copied to source/flutter/lib. The
header is copied to source/flutter/android as a build record.

Verification:
- dart analyze lib in bridge-dart: No issues found.
- All 315 pub Rust API functions have wire_ exports in the official library.
- All 324 Dart dynamic symbol lookups exist in each released library:
  arm64-v8a, armeabi-v7a and x86_64. Missing symbols: zero.
- Machine-readable verification: bridge-symbol-verification.json.

The native Rust ABI was not changed. Android Kotlin/JNI package names stay
com.carriez.flutter_hbb and ffi.FFI; only Android applicationId may change.
No claim is made that native symbols alone establish device compatibility;
APK install/launch and the Redmi end-to-end session remain separate checks.
