Vet prescription fees to be capped at £21