Moved ActiveClientWindow from WindowManager to RootWindow.  Each root can have a different active client.
Do not initialize WindowLayout pointer in the root window data's constructor.  Initialize in the root window constructor.
If root sets one of its own windows as active, remove it from its position in the stack and put it at the front.
There is a global active client as well as an active client for each root window.