@djr, merged your PR, thanks!!
@Tiggertooth, I had wondered where you went. The ctor looks reasonable, committed. AFAIK, AttachmentLoader is the only "class" that needs extension. It could even be a function pointer, but not sure it is worth changing.
For setSkin, you need to call setSlotsToBindPose since it doesn't know if you want to change the attachments when you set the skin. It tries to replace attachments from the old skin if they were attached and exist in the new skin, but when setting the skin for the first time there is no old skin.