Re-organized directory layout to avoid recompilation.

Due to a stupid directory layout, the entire BarTender library was getting
recompiled each time an executable was compiled. This is of course sub-optimal,
so I've moved things around to avoid that.
Grouped clients in their own directory.

To clear up the project root directory a little.
Cleaned up the executables' build dependencies.

That list was getting way too long. Now it's the minimal dependencies needed to
compile the executable.