NHS patients waiting for hospital care top 4m for first time in a decade