Rewrite the wl_seat interface implementation to adhere to the new design principles
This MR rewrites the implementation of the wl_seat interface to adhere to the new design principles. Note that, effectively, we already support v7 so the version was bumped from 5 to 7.