implement snapped property for windows, start working on contraints for
window sizing