wlr_seat
This fixes the remaining seat issues and adds at least basic keyboard support to the example compositor. It will simply focus the first surface and send keyboard events if it has a keyboard bound (works/tested with weston-terminal). The example is overall a bit hacky but pretty much all of it will probably change when we implement the shell correctly (and therefore focus semantics).
I fixed up the destroy/release handling, the previous implementation was a bit problematic. The release function is part of the interface, it's pretty much useless all we can do there is destroy the resource. The resource destructor is guaranteed to be called (release is not) so we perform all cleanup there now.
I'll comment on a few places in a diff that might need explanation.