Get rid of x11 specific code in grail implementation.
That way grail can be compiled with x11 dependencies and still process correctly frames that were generated via frame_backend.h instead of frame_x11.h.
Also use frame_backend.h instead of a frame mock in tests, which is a more realistic situation and also exercises the frame_backend.h API. It wouldn't be possible to do that if grail implementation still had frame_x11_* calls.