gpu_array_is_scalar: also consider a single struct as a scalar
gpu_array_is_scalar is essentially used in two context,
one is to determine whether an "&" should be printed and
the other is to determine whether we are capable of mapping
the array to registers.
It is only in the second case that we need to exclude structs
since we currently do not map any (arrays of) structs to shared
or private memory.
Move the test for compound elements out of gpu_array_is_scalar to
the instance where we actually need to test for it.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>