updated XClientMessageEvent union-like functionality to act according to format flag

"Emulates" the union type data in XClientMessageEvent by using the largest union type (ok, all are the same size in this case) and providing getters/setters according to the format field in XClientMessageEvent.