added Creator class for filters
added description field to filter record
basic filter tree structure
added filter box and basic record filter UI (not functional yet; only supporting on-the-fly filters for now)
Avoid using boost::any in MWWorld::Ptr

Reduces dependency on Boost, and should improve performance a bit when
copying or constructing Ptr objects.
Don't store the type name string in the Ptr

This should get rid of all heap allocations caused by constructing or copying
Ptr objects.
Move common LiveCellRef fields to the base class
Remove some unnecessary fields from Ptr
Use dynamic_cast to get the LiveCellRef
Small header cleanup
Throw an exception when trying to get an empty Ptr's type
accessing references via their ID now also works for references in containers in active cells
Merge remote-tracking branch 'zini/master' into ptr-improvements

Conflicts:
	apps/openmw/mwworld/containerstore.cpp
fix to previous commit
Merge remote-tracking branch 'zini/master' into ptr-improvements
and another fix for the same issue :(
Merge remote-tracking branch 'zini/master' into ptr-improvements
Store the object class in the LiveCellRef
repalced std::auto_ptr with boost::shared_ptr in filter nodes
replaced binary filter node with a n-ary node