decentralize some logic, individual view providers now provide the details rather than detecting from a huge array. #1925
Closes #1795 by redoing the controls Allows for a specified slot type & offset to be passed, can easily add extra slots by updating the GetExtraSlots extension method.
unused, i dont like the saveditor indexing slots from a fixed list