port samba module to qml
this twiddles with the UI a lot, a change I didn't want to make when I rewrote the modeling tech for 5.18 to unbreak the kcm.
on the backend side this mostly just changes the previous column sys
tem to an actual role system for the model as that is nicer to use from qml. also more useful values are now being modelled in addition to the raw backend data. notably a working shareurl can be constructed so long as we can resolve a FQDN from avahi.
on the GUI side the entire kcm is now written in qtquick and requires kdeclarative 5.74 due to its use of AbstractKCM
the two views are still on the same page but use more appealing delegates now instead of plain tables. furthermore the delegates have been made interactable where useful (shares can be edited, fully qualified urls clicked, mounts can be clicked to open dolphin)