Changed so only Cart state is saved to session, not the whole cart object.

Store result of Cart.items_serializable in session instead of the whole cart object, then rebuild Cart._items_dict on initialization.

Need to set either CART_PRODUCT_MODEL in settings.py or pass model as part of cart initialization. The former is required for "get_cart" template tag to work out of the box.

Other than that, user facing API did not change, so existing code using the app should work without modification.

Still need to update tests and the example app, but thought I'd share what I've done so far, to get your feedback.