Decorator wraps an object to add behavior, without subclassing every
possible combination of features.
Coffee costs 200 (cents) and describes itself as 'Coffee'.
Implement MilkDecorator (+50 cents, ' + Milk') and SugarDecorator
(+20 cents, ' + Sugar') — each wraps another Coffee-shaped object and
adds to its cost/description.
solve(orders) wraps a fresh Coffee with the addons listed for each
order (in order) and returns {'description':..., 'cost_cents':...}.
Costs are in integer cents, not float dollars — the same reason real
payment systems never use floats for money.
Sample tests