Cart items are indexed by an md5 hash rather than numeric keys so we
can add custom data to cart items.
Plugins can hook in and add meta data, load it, and display it. The
adjust_price() function lets you adjust a products price too since its
loaded and stored in the cart on page load.
All works like a dream, all thats left is to show the values on the
cart page, and store them in the order item meta. Order item meta does
need a slight change though, to allow data with the same keys. Working
on that next.