ad-trait: A Fast and Flexible Automatic Differentiation Library in Rust