[Linux] Disable XSHM when pixmap format is not bgra32
[Linux] Remove old x_image_back
[Linux] Copy old data over after swapping the buffer
[Linux] Only resize window when it needs to
[Linux] Update old offset after sending out OFFSET event

This could avoid a XMoveWindow in OS_Update_Window.

Usually the procedure would be:
user moves a window: OFFSET event
script receives OFFSET event: calls show,
which calls OS_Update_Window
[Linux] Send out EVT_RESIZE only when it's resized

The size changed by rebol script is taken cared of by 'show', no resize
event is needed
[Linux] Flush after XShmPutImage

or the buffer could get changed by the time it's pushed to X server
[Linux] Do not discard requests when XSync
[Linux] Shut off compiling warnings
[Linux] Try to compress RESIZE events

If the user resizes the window very fast, a series of Resize events
would be received, there is not need to resize and recompose the window
for every such event. Save them in an array and resize them to the final
size only.

An expose event will follow each resize event, so it needs to be detected
and ignored.

How many resize events can be compressed, would depend on the rendering
and resizing speed.
[Linux] Move should not interrupt a resize series

A move message could get in between a series of resize events, do not let it cause
a recomposing

This commit solves window resizing performance on ODROID, now it can catch up with
the mouse.
[Linux] Do not loop over the select

Because timeout is not recalculated, it could cause oversleep.

Do a quick check after select, same as Win32
[Linux] Fix As_OS_Str to correctly encode in UTF8

It couldn't take any non-ascii characters.

The problem with this implementation is that unicode functions are from
core, and not exported to host (with RL_ prefix).
[Linux] Rework on mouse wheel event handling

Now it supports horizontal scrolling