Rework invalid coordinate handling
There are a few places in weston where we use an invalid 2D coordinate. This is an attempt to remove some of them and instead replace them with checking whether the conditions for the stored coordinate indicate that it is valid, or by changing functions so that they never need an invalid coordinate to be passed in.
The point of this is to simplify an upcoming 2D coordinate rework by not having to find a way to represent an "invalid" coordinate at all.