Refactoring Inventory related classes. InventoryManager has now only read-only methods, all the write actions have to be done by sending one of the action events: GiveItemAction, MoveItemAction, RemoveItemAction, SwitchItemAction.
Validation of input can be done on inventories via BeforeItemPutInInventory and BeforeItemRemovedFromInventory, which if consumed - will cancel the operation.
Bugfix for ItemCommands.
Moved metrics and debug UIs into NUI.
Implemented the Running Threads Metrics.
Fixed an issue with non-modal screens interfering with lower screens.
Fixed texture cache key used for bordered texture rendering
Fixed update of overlays, and returning of overlays after adding them.
Fixed some issues with the CaseInsensitiveEnumTypeAdapterFactory.
Introducing instigator into the action classes to allow better validation of adding, removing elements to/from inventory.
Merge pull request #925 from MarcinSc/develop

Improved inventory by moving to a more event-based approach.
Style cleanup.
Fixed module permissions around InjectionHelper and Gson.
Merge branch 'develop' of github.com:MovingBlocks/Terasology into merge-into-awt
Enable DebuggingControlSystem for awt