Modified the intrusive linked list to support circular objects.

Added hierarchial nodes to test the functionality.
Added support for hierachial gui widgets.
Added possible scene node bug.
Added TrueType library which will be used for the font in the game engine

Changed std::string to playstate:string to ensure future unicode
support. Added style support for canvasgroups and widgets.
LinkedList doesnt need a base class anymore now that the offset isn't a template argument
No need for multiple functions if we use a typedefed string type
Added a macro so that we can type a string in the game engine without caring for if we are using unicode or not.
Updated Window Sizes methods to use Point instead of two uint32. Updated class lua-script.

The script-class update is needed for the up-coming ingame editor.
Shaders are now deleted after they are linked to the program.

A linked shader doesn't need th have its resources saved anymore.
Fixed so that textures and tetxure ids are used correctly.
Removed unused library files. Fonts are now saved into one single image.

The deleted library changesets are not included in the merge.
Added FrontColor for text color in button widgets. Removed GuiWidget constructor since that with inheritance doesn't work properly.

Removed constant for font rendering. That's because there is an
acceptable risk that the font is automatically updated with new unloaded
characters.
SceneNodes no longer require a SceneGroup to work.

Otherwise the virtual table doesn't work correctly. Added a an
auto_array type.
It's now possible to draw fonts onto the screen. Renamed method called in the pre render stage PreRender. Fixed potential unicode bug.

Removed unused file.
Made preparations for scissor test, which will be used later for the user interface rendering.

Changed file size from uint64 to uint32.