Overlay window system

This code is a little hacky and needs to be cleaned up at some point.