I will change the ifs in feature/grab_mouse, it's indeed more readable that way.

Regarding moving this logic to `sf::Window`, I'm not sure; it might be more complex to implement it on OS X... I'll see when OS X impl is ready if some refactoring can be done.