Added Double Slab support

- Refactored and rewrote most of the slab block code and added a needed
custom ItemSlab object to support the placing of double slabs.