Port https://github.com/MovingBlocks/Terasology/commit/84436fecfaf28dae25018419549b7221ea79b377 from @begla in develop to multiplayer - minor shader cleanup
Snapshot of a roughly working JSON style applier thingy
And another step done
Add style states
Make UIButton compatible with new UI system
Adapt GUI system to recent asset manager changes by Immortius
Implement UIWindow#reload
Add Tuple2 class
Refactor method to add a unit-test asset source directory from prefabtest
Add layout definition test
applyTo needs be invoked after setModal and maximize

Otherwise, it would not be possible to change the size or
the "modality" of a window from within the style, because those
settings would get overwritten by the subsequent calls to
setModal and maximize.
Add all elements from the UIMenuMain to the main menu layout def
Add WIP UIController support (events currently fail to be invoked though)
Remove style test method
Fix checkstyle warnings and add docs
Fix checkstyle warnings in LayoutDefinition
Put back the old loading mechanism to gradually move to the new system
Completely implement the main menu behavior and remove the old menu class
Ignore annoying OS X files
Switch back to the none-nested default style definition

Instead of specifying the element states within the default
style definition (the "style" property), a property "states"
will be introduced which holds the different state styles.
This removes the unnecessary +1 nesting when specifying the
default style.