Return array of integers if scale is 0

From the Postgres documentation Section 8.1.2 Arbitrary Precision Numbers:

Integers can be considered to have a scale of zero.

When using Decimal, setting the scale to 0 should return an integer.

However, in DecimalArray, all numbers are coerced to floats, even if the scale is 0.
This leads to problems with floating point arithmetic, since all integers are treated
as floating point numbers and not integers.

Since from the documentation, the expected result is that DecimalArray values with
scale = 0 should behave as integers, explicitly coerce returned values to integers
if scale = 0.