Made SmallWM respect the WM_STATE property - it is now set on all clients.
Minor stylistic fixes:

 - Removed ClientManager::map and ClientManager::unmap
 - Rewrote some confusing comments
SmallWM now respects the initial_state property of WM_HINTS.

This necessitated the addition of a new client state, CS_WITHDRAWN, and
some fiddling around with ClientManager::create.

Also, DesktopManager::should_be_visible was added to help
ClientManager::create do its job.