[Linux] Fix put_image

image->data has to restored

width_stride has to be corrected

This is tested on Raspberry Pi with bpp = 16
[Linux] Check shminfo.shmid before detaching

It could be invalid even has_xshm is true, when the pixmap format is not supported.

This fixes a segfault on Raspberry Pi
[Linux] offset needs to round to integer
[Linux] Rework the coordinates translation

Save the parent locally, which reduces one QueryTree request

Hopefully this solves the problem that window randomly jumps
[Linux] Set icon name on the window
[Linux] Set locale on window
[Linux] Check for supported ATOMs by the WM
[Linux] Add an env var to control XSHM

user might want to disable the xshm in fear of leaking shared memory
segments