Restructured some internal stuff to use objects instead of arrays, where it got a mess what was what.
Fixed shifting to act as it's supposed to.
Started implementing crafting.
Fixed the bug occurring when transferring between two inventorys where one target is a crafting slot, causing the slot to be highlighted and processed in the wrong inventory.
Fixed some tooltip handling.
Crafting: display crafting result on slot 0
Actually handle JSON errors and don't let them only reside in the web-console.