implemented showhide()

works as intended as long as you don't switch the desktop while !show,
otherwise windows will be redrawn on first desktop switch after
re-showing
Merge branch 'master' into showhide
Merge branch 'master' into showhide
Merge branch 'master' into showhide
Merge branch 'showhide' into master

Conflicts:
	monsterwm.c