implement aspect ratio for windows

Throws if you have two windows attached to the camera when you alt tab.
Add message pump static method
Add ability to register multiple message handlers
fix cleanup in the system window manager