Settings validation framework
Currently we have constructions like this in our codebase:
fontSize = std::min(std::max(12, fontSize), 20)
So we have no general range validation - we validate a setting value in the every place where we get it.
It would be nice to validate values during Settings::Manager in the similar way as we check value type:
- Check if the setting's value is in valid range
- If not, use a default value and print warning to user