Some improvements to inventory API

This adds support for custom titles in all inventories that honour it (which as of this time appears to be everything except beacons, workbenches, and anvils), updates various code areas to properly support all new inventories, and changes the result of createInventory to implement the expected interface associated with the inventory type.