BIG REFACTORING.

This is still one big mess, so don't even bother.

Mostly consists of renaming functions to make it cleaner; updatewsd()
has had some additional changes, but they will get overthrow soon, so no
need to give a deeper explanation or to get a deeper understanding for
this.
Make workspaces handle their own boxes.

Makes life easier.
Also makes the programme crash, currently.
Make the expose/raise work.

Now it should not crash, boxes shouldn't disappear upon moving the WSD
view, and expose events should not make the WSD loop anymore.

The target's box does not display the target workspace name correctly
yet; needs to get fixed.
WSD target box now shows correct workspace name.
Merge branch 'wsmenu'.

Improved handling of menu boxes (see the branch' commit messages).