AstraZeneca will cap the cost of its widely used inhalers at $35 a month