Refactoring out Core Module code

Most refactoring complete.  Need to fix up the tests and benchmark code.
#1 #2 #7
Move over benchmark code; fix biomeProvider instantiation

benmarks not functional yet
Water is pretty again
Add API safeness to externally registered chunk/world generators
Move blocks to core

A couple things remain: core:grass rendering, water and lava and ice
still in engine
Fix incorrect URI to water and lava
Move water, lava, and ice to Core

This leaves just air in the engine
Extract the initial player inventory to Core

close #4
Tweak comment for #754
Added UIElement interface covering both widgets and screens.
Added tracking of the UIElement with focus, and onGainFocus/onLoseFocus events.
Fixed some fencepost errors.
Added dropdown widget.
Added support for rendering on top.
Merge branch 'develop' of git@github.com:MovingBlocks/Terasology.git into develop
Added new BeforeBlockToItem event to allow changes to be made to the dropped items from blocks.
Merge remote-tracking branch 'upstream/develop' into develop

Conflicts:
	engine/src/main/java/org/terasology/world/chunks/Chunk.java
Move over explode sounds to Core; Add in partial support for biome debug information; Fix some URIs incorrectly pointing to core:
Add less hardcoded rendering for ice and grass

Opting to follow Immortius's temporary hardcode for ice and grass.  The
"right" way is too big for a refactoring pass.
close #10
Allow remote games to function without any world generation data

#12
Clean up unfinished idea in comment
Optimize Imports in Core module
Extended skinning system to have an additional "part" level for elements composed of multiple parts.
Added support for dragging to the interaction system.
Implemented Slider element
Added bean binding helper.
Refactored VideoSettingsScreen a bit.
Completed VideoSettingsScreen