Serialisation initial commit

can now serialise to files, only Transform is supported yet
Serialisation core finish

Needs tests & impl for other components
Serialisation and UI development

- changed to PropertyTree for all internal formats & save file format
- added UI widgets and partial engine support for them
- bit documentation for system.lua
- upgraded to Boost 1.52
Editor UI, reloading, REPL and tags

Separated editor functions into distinct files
Added GUI ready flag, editor checks for it and runs UI init accordingly
UI and Editor reload
Console can now enter commands, added REPL for console for full
interactivity
Tag system for GameObjects
Inspector can now save GO's
Loading, Inspector set, JSON lib and bugfixes

FileBrowser added, currently supporting 1 level of depth
Console now stores history, but GUI does not receive events?
Loading now works
Cleared up types in System.{}, now System.type() should be used
Console bugfixes
Camera added properties
Inspector now correctly not handles LuaScript cmp group (YET!)
System.annotate split into System.annotateProperty and
System.annotateField
Setting component properties from Inspector now works
Added JSON library to System (System.JSON)
GO, Camera & Light serialisation and Inspector++

Added ComponentFactory, can now handle Mesh, Camera and Light
GameObject can now deserialise anything ComponentFactory can handle
Implemented Camera and Light for serialisation + added Light properties
Annotation options now converted to JSON and passed UI
Inspector is now updated to reflect current values
Redesign

Layout, Inspector up
Redesign 2

Small changes to GUI, Editor etc.
Added Underscore.lua
Inspector data exchange + misc

Inspector gets values
Inspector value changes show up in engine
JSON deserialisation for GO
Misc changes
Inspector create & destroy components

Added GO destroyComponent
Added destructor logic to Light, Camera and Mesh
Create component works from Inspector
Destroy component works from Inspector
Fixed Mesh serialisation
Focus tracking + theme

Added focus tracking to UI
Input can now be disabled
Theme changed to 'Dark'
1D translate

Fixed 1D translate
Manipulator actions implemented

Free translation
1D scale
2D scale
3D scale
Merge branch 'serialise' into develop