monitor: Add unit tests on scale values computation and fix some edge cases
We had various issue with the computed scaling values:
- When we required an integer they not were always integers (also fixed as part of !336 (merged))
- Fractional values might be duplicated with some resolutions
- We never tested this other than manually :)
So, added some tests and fix the said issues, so that we can ensure in g-c-c that mutter will always provide a list of scales that are unique and sorted.