Don't use unnecessary entry container for windows
Move hooks and workspace creation to desktop module
Add window_new helper
TAG -> WORKSPACE
list_next -> list_next_link

Be explicit about links rather than entries
Add layer abstraction instead of doing everything manually
Style
Remove X11 stuff
cmake: Add module helper macro
Style
binding: Use anonymous union to remove needless verbosity
workspace -> active_workspace
Use layers
Use vector_position instead of looping through workspaces
cmake: Sort source files
module: Print error when dlopen fails
Style
Add manage/unmanage functions
Remove obsolete manage hooks
Free resource vectors