* Test snapping
* Snap new shapes
* Fix snapping when zoomed
* Refactor to use viewport bounds
* Reduce snap tolerance to 3
* Snap line and path tool
* Add disable snapping and refactor
* new_snap -> new status
* Rearrange import
* Cleanup
* Fix incorrect variable name
* Store snap data in tool data
* Refactor ViewportPosition from u32 (UVec2) to f64 (DVec2)
* Fix pseudo_hash call
* Replace hash function with proper function for uuid generation
* Cargo fmt
Co-authored-by: Dennis Kobert <dennis@kobert.dev>