Additional utility functions

- New string conversion functions: bool<->string, float<->string
- orxcraft_util namespace renamed to orxUtil
- New functions to check relationship between orxOBJECTs
Cleanup in orx_config_util

- orx_config_util namespace renamed to orxConf
- String converters moved to orxUtil namespace
- Finished move from orxSTRING to std::string
- Standarized function names:
  - Functions extracting data from orxConfig are called Get*
  - Functions modifying data in orxConfig are called Set*
  - Functions that perform type conversion are named:
    - *AsVector
    - *AsString
- Supported orx datatypes: bool, float, vector and list
ScrollWidget binding with orxConfig.

- ScrollWidgets can be bound with an orxConfig property with defined
  type. Each type of ScrollWidgets supports selected property types.
- ScrollWidget base class defines virtual interface for querying and
  updating bound config property. This allows to simplify Dialog setup,
  refresh and update code as widget instances will be aware of
  underlying data they display.
Widget - Config binding implementation in dialogs.

- Cleaned up dialog setup, update and refresh code to utilise binding of
  widgets and orxConfig. Remaining properties were auto implemented as a
  side effect.
- Fixed ObjectEditor child list generation. Objects that would cause
  circular child-parent dependancy are excluded from the list of
  potential children.
- Other cleanups.
Widget-Config binding cleanup.

- Removed leftovers of old implementation from ObjectEditor.
Fix some warnings in CEGUI layouts.
Tree widget implementation

- ScrollTreebox and its child CEGUITreebox
  - Implement tree widget with one level hierarchy (flat groups)
- CEGUIExtendedTree and CEGUIExtendedTreeItem extend CEGUI::Tree widget
  - TreeItem is now aware of its parent in hierarchy
  - Tree selection is possible for closed branches (setItemSelectState
    to be fixed)
  - Selection count recurses inside child items
  - Introduced method to get selected leaves - items without children
- TreePopup is a dialog with tree widget that returns selected items
- Object children selection in ObjectEditor switched from ListPopup to
  TreePopup
- Implemented simple division of objects into groups or rather sets
  according to ScrollEd implementation
Display object sets on top in Treebox.
Separate GUI logick from toolkit implementation.

- OrxCraft class should deal with toolkit agnostic abstract classes for
  dialogs and widgets.
- Abstract dialogs implement all logick while toolkit dependant
  derivatoves are minimal and deal with toolkit specific plumbing.
- Introduced OrxCraftFactory class that creates toolkit specific
  implementations of Gui and DialogManager classes.
- OrxCraftFactory has to be an internal class of OrxCraft as it deals
  with Scroll implementation details and orxCraft.cpp is the only place
  it can reside.
CEGUI stuff moved to "cegui" subdir.