Made the whole app event driven, server only stores events, client replays them to build views
Stores the next required event id so it only asks for new events
Removed unnecessary logging etc
Client side now calculates the number of items in shopping list