Fixes #12, adding an intermediary cart representation that only stores
IDs and purchasable type (product, etc.) instead of full on serialized
product that took too much cookie estate.
The "in-session" cart representation is converted to/from at the session
boundary.