Change the way position is computed

The old way was a hack arounf an Awesome 3.5.0 limitation.
The newer should be more reliable.

Please report any regressions.