Do not reduce items size when snapping to pixel grid.

Due to the required snapping to pixel grid, there was a high risk of
reducing the size of an item to become smaller than its minimum size.

With the original way of snapping (simply doing qRound) it didn't
happen very often, but with the last change the problem became more
evident:
If an item that covered the full extent of a
cell was snapped it would *always* shrink. Sometimes it could then
shrink to become smaller than its minimum size.

This was easy to see if the item snapped was a Text element with
eliding enabled, since that meant that the text was elided as soon
as the Text element got resized to smaller than its minimum.

The current solution now is to always snap the x,y coordinates
(with qCeil), but keep the width and height that was calculated
by the layout. This means that snapped items will be shifted slightly
to the right. Due to this they might extend almost a pixel outside their
calculated cell (on the right or bottom sides).

Due to this we also have to adjust the size hint result calculation so
that it will also ceil up to the nearest integer.

The only downside now is that row/column spacings might be less
than specified, but they should not reduce by more than 1 pixel.

Task-number: QTBUG-36235
Change-Id: Idca909f2102a1f7c5cb50d2490c7af39d722ff4f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>