Convert barcode types to i64 and add a manual input field. Remove the
tokio Runtime and use reqwest::blocking for Google Books. Adjust serial
handling (Sender<i64>, added logging, shorter recv timeout, clear port
on disconnect, and faster UI repaint to prevent "app not responding").
Bump reqwest to 0.13.1, serde_json to 1.0.148 and update Cargo.lock with
required TLS/quinn deps.
Move read_serial out of impl, Add ScannerSetting enum, ComboBox UI, and
serial port selection/receiver handling in BarcodeScanner. Bump
serde_json; add strum and strum_macros to Cargo.toml.
Move src/app.rs into src/app/app.rs and add src/app/mod.rs. Add
src/app/bookdata.rs providing BookData and shared Data types and
propagate those types to book_data and food_data modules. Move
serial_read into src/app/serial_read.rs and remove the top-level
serial_read.rs, updating imports and BarcodeScanner fields/visibility.
Update main to construct app::app::BarcodeScanner. Bump reqwest in
Cargo.lock.