util: simplify _COGL_STATIC_ASSERT definition

This updates the definition of _COGL_STATIC_ASSERT to just use
_Static_assert if available or be NOP if not. We no longer worry about
supporting static assertions with older compilers. This fixes some
verbose warnings that newer compilers were giving with the old typedef
based static assertion method.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Avoid conflicting client/server wayland includes

This avoids including wayland-server.h in cogl-display-private.h which
avoid lots of compile time warnings that wl_buffer is deprecated. The
problem is that wl_buffer is also exposed in the client side headers and
isn't deprecated for clients. If we end up including the client and
server headers in the same compilation unit we can get conflicting
definitions.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Remove padding from eulers and quaternions

One of the notable advantages of a Euler representation of a rotation is
that it is compact but we negate that benefit if all CoglEulers have
enough padding to potentially cache a quaternion in the future. Having
padding for all CoglQuaternions is probably also unnecessary as higher
level code can find its own ways of caching data relating to
quaternions.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
framebuffer: NOP _set_color_mask if mask isn't changing

This makes cogl_framebuffer_set_color_mask immediately bail out if the
given mask equals the framebuffer's current mask, since the cost of
flushing the journal and flushing the gl state will hugely outweigh the
cost of the check.

Reviewed-by: Neil Roberts <neil@linux.intel.com>