## Summary / How this PR fixes the problem?
There are several improvements in this PR.
* Add DrawableRect rounded corners
* Rework ModelType as a class instead of an interface to add default methods.
* Add Path drawable and type (WIP)
* Optimize snapping by only updating the area used by snaps, not the entire screen.
* Added some commented out code in the ViewCanvas to display damage.
## Steps to Test
Test Snapping and make sure they work correctly.
## Known Issues / Things To Do
Like with a lot of things in main, things are WIP.