Optimal Layout takes the hassle out of organizing your application windows: move, resize, tile and switch windows all from the keyboard
Optimal Layout is a window manager which makes organizing applications simple. Optimal Layout lists all the open app windows and you can use this to switch between windows and choose a group of windows to fill the screen in pre-defined layouts.
There are also keyboard commands to move windows around the screen, either gradually or jumping to half or quarter of the screen.
The keyboard commands for resizing let you stick windows together, so when you resize one window the windows next to it also resize so there's no overlap.
There's a lot to this app, check out the screencast on the developers site for a good quick introduction.