wayland/surface: Implement WL_SURFACE_ERROR_INVALID_SIZE check
From the spec:
This means that at commit time the supplied buffer size must be an integer multiple of the buffer_scale. If that's not the case, an invalid_size error is sent.
Closes #1938 (closed)