UI tweaks, fixed server world loading, and lots more

- made titlescreen dynamic (changes based on the time of day)
- fixed world not centering on player sometimes
- added owner property to tiles, blocks, and entities (if you do not own it, you cannot interact with it. blocks/tiles can be interacted with if there is no owner)
- added hotbar (mouseover an item in your inventory and press a number key to assign it to a slot in the hotbar)
- fixed bug where item would be lost from inventory if the item placement failed
- item drops in front of player always, unless it cannot drop, then it will find the next open tile to place on
- press C/I in the inventory and crafting menus to easily switch between the two
- added a progress bar to the title screen (and locks mouse in window when active to prevent resizing)
- pause menu shows disconnect button when connected to a server
- made all gui elements inherit the "hidden" property
- improved multiplayer: block placing is sent, as well as player movement. fixed broken world downloading
- CTRL click on the play button to host a server, right click to join the first available LAN/localhost world
- moved global world functions like center(), save(), load(), etc to World.java
- saving, loading, and world gen moved to separate (temporary) threads
- added cannon block
- added entity health, names, and more getters/setters
- fixed Inventory.getTileQuantityByID() and Inventory.getBlockQuantityByID()
- added NPCs and a framework for AI (any AI can be assigned to an NPC object on-the-fly)
- added list of siege entities
- changed tree and catapult texure