Resize like in Rio
* remove duplicate code;
* resize views when dragging corner borders;
* width and height never become negative to avoid rendering bugs while reflecting,
also recently wlroots crashes when width/height is <= 0;
* reflection behaves like in Rio;
* minimal size is enforced on red box like in Rio;
* change cursor for New and Resize;
* New and Resize do nothing if size is less than minimal like in Rio;
* New and Resize draw a grey surface in red box like in Rio;
* it's not accurate because it assumes scale is always 1.
Bug-Fix: Can no longer select borders hidden under views
This fixes the bug where clicking on a border would enable border
dragging even if the border was hidden under a view.
Letting wio_view_at() report where the given coordinates are on a view
enables us to check for views and borders of views in the same loop,
easily solving this problem.
Additionally this makes the border dragging code cleaner and enables
other functions as well to see where on a view was clicked.
Pass pointer events through to clients
Receive & render new XDG surfaces