Improve workspace osd positioning using a non-linear method

This aligns the osd edges to the minimum/maximum values from gsettings, if those are selected in cinnamon-settings. For values between minimum/maximum, it shifts the osd by half of the percentage used of the overall space available for display (100% - (left and right 'padding')). The horizontal minimum/maximum values are 5% and 95%, resulting in 90% available for positioning.
This also applies to vertical alignment.
If the user choses 50% as osd position, these calculations result the osd being centered onscreen.

Follow-up for #1173