iconGrid: Allocate using allocate_preferred_size() instead of using box

Handling a ClutterActorBox from JS means invoking lots of JS<->C
trampolines, and that is slow. We can easily avoid the whole box by
using clutter_actor_allocate_preferred_size() instead.

Note that this slightly changes the behavior: We now no longer enforce a
minimum size, but will allocate items a smaller size than the childSize.
Given that all children of our grid have a fixed icon size though, they
report a fixed size anyway, so that shouldn't be a problem.

This saves quite a lot of resources, in measurements of the average
duration spent in iconGrids vfunc_allocate, the time went down from
0.7 ms to 0.4 ms.
11 jobs for !1739 with icon-grid-alloc-pref-size in 3 minutes and 12 seconds (queued for 3 seconds)
latest detached
Status Name Job ID Coverage
  Pre Review
passed check_commit_log #1186988

00:00:27

passed check-merge-request #1186989

00:00:18

 
  Prep
passed build-fedora-container #1186990

00:00:34

 
  Review
passed eslint #1186992

00:01:03

passed eslint_mr #1186993

00:00:46

passed js_check #1186991

00:00:28

passed no_template_check #1186995

00:00:14

passed potfile_check #1186994

00:00:19

 
  Build
passed build #1186996

00:01:47

passed flatpak #1186997
flatpak

00:01:40

 
  Test
passed test #1186998

00:00:57