Extend entity exporter with material data saving

So far write a texture path from the very first object's material.
Implement GeometryBuffer and RenderStack classes

Geometry buffer is essentially a rewritten FrameBuffer class without
unrequired dependencies that caused both runtime and #include recursions.
RenderStack implements a render state saving stack with each state
represented as a function intended to be called on RenderStack::pop().
Add Object::ObjectType enumeration and selector
Rewrite FrameBuffer class

Use separate selectors for depth and image textures, rather than
an unordered_set of attachments.
Remove Shader from Material class

Supply Material with diffuse texture for now, will be extended
with other material parameters later.
Keep separate lists of Light and Entity inside SceneNode
Extend Shader with source-based constructor

Allow to build a shader from a char* buffer contents.
Add a source selector method for convenience.
Expose Texture OpenGL handle through getHandle()

Remove FrameBuffer from friends.
Fix DepthTexture initialization

Set width/height attribute values before accessing them.
Refactor ImageTexture class

Move one of the constructors to the class declaration header.
Rename some local variables for convenience.
Implement Mesh class
Update ObjectManager class, implement Entity loading
Update Entity and Camera classes

Add vital matrix selectors for both classes.
Remove Material from Entity class, add a set of Meshes rather
than a single mandatory Mesh.
Implement deferred rendering

So far: no light, no shadows, default shaders are embedded
into code (should be moved to a separate class), RenderStack is
integrated into rendering pipeline.
Remove garbage includes
Add example application and required assets
Add Doxygen documentation and README