Trying to figure out physics. It's hard. Kind of works...
Conservation of momentum to the rescue
Adding comments, but noticed a bug

Conservation of Momentum for 1D collisions doesn't work well with 2D
collisions! Whoops.
Awesome blossom. 2D collision detection & resolution.

This was fun. Movement looks a lot better now!