Enforce valid range limits for entities, at a per-entity level

Often a device will offer a range setting where some of the range turns out to be unusable or undesirable, perhaps there’s a hardware limitation not reflected in the integration, or an extreme value that can cause damage.
For example, a light on a dimmer switch might make a hum or buzz, or flicker if set below a particular level, but the dimmer itself doesn’t have the ability to set a min/max range directly (or the range limit options at the hardware are insufficient.)
A bulb with a adjustable color temperature is probably providing more of a temp range than is useful, and so it might be preferable to limit the range offered in the picker, as well.
A thermostat might allow for the user to set an extreme heat or cooling point that would either waste significant energy or burn something out.
A standing desk might have an obstruction limiting the minimum height it can safely be set to.

While it’s probably possible to define a template entity with range limits in all of these cases, that leaves the raw entity vulnerable to extreme settings.
I propose that entities providing a range setting all offer configurable limiters on the allowable setpoint range so this can be enforced within the entity. (For a thermostat, probably need 2 ranges, one for heating, one for cooling.)