Rewrite main MOGDriver object type in Rust
This merge is to include all the new Rust code for serial communication with the device. All the main functionality of the old Python class is included, up to functions related to the PID, which we never use. No supporting types for tables beyond what's necessary are included; we'll add those later if we start using tables again.