My favorite is probably FVWM2. I know that's not a popular choice. I
have my reasons:
1. Everything can be scripted - down to mouse clicks
2. You can interface it with Perl and GTK
3. Can be made to look and act like almost anything
nuff said