Introduce the concept of array coercion (DYNJS-118)

If no regular coercions match, we now check if the argument is an
array and if so attempt to apply the new array coercions, which
essentially consists of iterating over every element of the array and
making sure its type is compatible with the needed array's element type.