Did a bit of refactoring:

 - The Doxyfile was modified to output call graphs
 - The ClientManager has had some of its internals moved to different
   classes, to aid in refactoring.
 - The LayerManager class now handles how clients are layered.
 - The ClientCollection class now handles client states.