SceneGraph: use protected destructor rather than pure virtual one.

The Transformation classes are always instantiated by inheritance, thus
we don't need any virtual deletion capabilities.
Shapes: WHY there is that.
Removed default template argument from DimensionTraits.

It's not obvious what should be the default and thus it is confusing.
Sometimes Int, sometimes Float, no clear winner.
Trade: pass ImageReference2D to image converter.

Also not through pointer, but throught const&, allows implicit
conversion from Image2D and Trade::ImageData2D, which is good.

Bumped plugin interface version a bit, as this is not so drastic change
in behavior.
Trade: return references, not pointers from MeshData.

The access methods assert that the user is querying only available data.
Also updated Primitives implementation to create MeshData when
everything is done, not creating empty MeshData and then shooting the
data through interface intended for end users.
Platform: pass application configuration via reference, not pointer.

Removes the need for explicit new/delete calls.
Merge branch 'master' into compatibility

Conflicts:
	src/DebugTools/ShapeRenderer.cpp
	src/Trade/AbstractImageConverter.cpp
	src/Trade/MeshData2D.cpp
	src/Trade/MeshData3D.cpp
GCC 4.5 compatibility: 4.5 and >4.5 have mutually exclusive requirements.
GCC 4.5 compatibility: nullptr-related issues.
GCC 4.5 compatibility: can't default protected member in class body.
GCC 4.5 compatibility: more nullptr-related issues.
GCC 4.5 compatibility: can't default this, again.
GCC 4.5 compatibility: some explicit typing needed.
Platform: make Configuration constructors explicit.

As it now isn't passed by pointer, this allows doing things like this:

    /* Lost all hope in this hardware */
    if(!awesomeFeatureSupported)
        createContext({});
Platform: documentation updates.

It looks much better now without all that explicit/implicit deletion.
Merge branch 'master' into compatibility
GCC 4.4 compatibility: can't default this, again.
GCC 4.4 compatibility: some explicit typing needed.
Trade: hide unused parameter.
Merge branch 'master' into compatibility