Interface/QuestFrame/TalkingHeads.blp
How it is used:
https://www.townlong-yak.com/framexm...sInfo.lua#3602
https://www.townlong-yak.com/framexm...gHeadUI.xml#58
I don't know how it would be done in pure lua, sorry. I don't know xml so I can't help with it.
This addon has really nice and understandable code for config options that you can probably take inspiration from:
https://mods.curse.com/addons/wow/work_complete
For the mover:
https://wow.gamepedia.com/Making_draggable_frames
Close button I can't directly help with, but you can probably look around at other addons that re-use the default Blizzard close button. I know Classic Quest Log uses it, but it does it in xml/lua. If you're comfortable with xml you can probably check that. Otherwise surely there's a pure lua addon out there with a close button you can look at. ;p