cm: Pick up opacity from a window property

Rather than hardcoding it to 0.5.
cm: Rename some variables

I came back to this code realizing I had chosen some truly poor
names. Rename it so that I also won't recognize what things to when I
inevitably come back to it in a month.
server: Make sure that the configure events we send out have integers

Otherwise, the ConfigureNotify / ConfigureRequest events would have
geometry values that weren't equal to a subsequent GetGeometry request,
which might cause some things to go wrong.

Specifically, this caused the CM to draw its redraw boundaries wrong in
certain cases.
Pull WindowShaker into DemoCommon
Pull out scanImageDataForVisibleRegion into DemoCommon as well
Start hacking on a COMPOSITE article

Still very much a work in progress, but I want some early feedback.

I'll finish it next week.