Re-Ordering The Products On Checkout To Group Them By Vendor And Adding Change Quantity Options To Them?

Hi, I'd like to be able to re-order the items in the cart as shown in the checkout.cart page and the 'Products in cart' block at checkout.checkout. Right now, I think it's shown in the order they were placed into the cart. My reason behind this is because I want to be able to group and then present them by vendor. The grouping I can do on my own, but the re-ordering I'm not sure how to do without breaking the system. I tried sorting the array through the checkout.php controller but that broke something in the system, because when I tried to use the +/- buttons on checkout.cart they messed everything up and added quantities to items that I did not press. I'd also like to add those +/- buttons on the 'Products in cart' block at checkout.checkout.

If someone could point me in the right direction to implement this I'd appreciate it, thanks.