onscreen/native: Return the correct number of EGL modifiers
g_array_sized_new() creates a new GArray with a preallocated size, but, after creation, the array length is still zero [1].
Store the modifiers in a EGLuint64KHR array and use g_array_new_take() to create a new GArray with the correct size.
Because no modifiers were returned, gbm_surface_create() was used instead gbm_surface_create_with_modifiers() on muti-GPU setups.
[1] https://docs.gtk.org/glib/type_func.Array.sized_new.html
Edited by José Expósito