Implements an intermediary HID class for mice, keyboards and touch devices, removing the old structs from WLClasses.hpp Yes, virtual ones are duplicated a bit, but will likely be de-duped once wlr_input_device is not used anymore.
Makes all the pointers smart to avoid memory issues Refactors layerSurface code to live inside desktop/layersurface