Adding tutorials back to libRocket samples

This initial commit returns the tutorials back to the source tree and
updates the CMake build to generate appropriate Make targets.

The next step in the process is replacing the 'EMP' references with
'Rocket' and testing the tutorials.
Updating all tutorials to be compatible with the latest Rocket bits

Updated each of the tutorials in the following ways:

- Fixed the path parameter in the Shell::Initialise call in each
tutorial's main.cpp
- Removed PNG files as the Shell render interface only supports TGA
files. Updated references to these PNG files (inline RCSS in the RML
files, or in RCSS files themselves) to reference TGAs in the assets
folder. Copied some assets from the Invaders sample to the Sample
assets where there were missing TGA equivalents.
- Replaced references to EMP namespace with Rocket namespace
- Replaced EMP_* macros with ROCKET_* macros (e.g. ROCKET_UNUSED,
ROCKET_ASSERT)
- Replaced Rocket::Core::DataSource references with
Rocket::Controls::DataSource
- Replaced EMP includes with Rocket includes
Fixed bug in datagrid tutorial:
The image for the Defender icons in the scoreboard was still pointing to the old PNG (which no longer exists).
Removing additional references to EMP

Missed some references to EMP from build mechanisms that I hadn't been
using (relied only on the CMake-based build for the tutorials).

I removed the references to EMPCore in these build files (which,
fortunately, already check for RocketCore as a replacement) and also
updated a couple of references to EMP_PLATFORM_WIN32 in the tutorials'
macros.
created a set of Visual Studio 2012 project files

copied the vs2010 project files and ran the project upgrade tool on them to produce these
updated ignore lists

added file type ignore rules for files generates per user/solution, and
all contents if the bin directory
Added "in", "cm", "mm", "pt" and "pc" units.

New units are based on a new RenderInterface::GetPixelsPerInch() method.
Property -> string converter appends new units.
corrected line endings
Merge pull request #68 from awahlig/master

Support for "in", "cm", "mm", "pt" and "pc" units.
Merge pull request #65 from blunted2night/master

Visual Studio 2012 project files
Merge pull request #64 from noam-c/master

Reintroduce tutorial samples to libRocket source tree
Stop gcc with -Wswitch complaining about missing NONE
use GNUInstallDirs and make paths modifiable

hardcoded "lib" will break compatibility with libsuffix such as lib64/lib32
GNUInstallDirs provides convenience to handle this, but raises minimum
cmake version to 2.8.5
SAMPLES_DIR should also be modifiable
Lock the document before adding rows to datagrid.

Locking the document prevents us from taking performance hit in the following chain of calls:

Element::InsertBefore ->
Element::DirtyStructure ->
ElementStyle::GetDefinition->
ElementStyle::UpdateDefinition ->
ElementDecoration::ReloadDecorators()
ElementDocument::UpdateLayout()

which did a full layout of the document
Small performance optimization
Keep the list of inherited properties in a separate set for quicker access
Optimize handing of properties in cases of full updates

Avoid looping through changed properties and checking invididual propeties in case we know it's a full update
Add IsLayoutDirty method to Element class

Use it to quickly check whether document layout has already been marked as dirty. Makes it possible to skip expensive checks needed to mark it as such in Element::OnPropertyChange
Merge pull request #78 from viciious/optimizations_p1

Part1 of various optimizations