Show an image (texture) on the tile

Currently the image data (pixels, colors) is statically written. Next, we
need to be able to read image files and use them as textures.

Reference: http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-2.1:-Buffers-and-Textures.html
Add simple Image holder

The class holds (for now) image's size, channel, color depth, and data.
Add PNG image loader using libpng

The image loader can have different implementation depends on the
available library and/or platform. This commit contains PNG image loader
that uses libpng.

The code was adapted from
http://en.wikibooks.org/wiki/OpenGL_Programming/Intermediate/Textures#A_simple_libpng_example
Licensed under Creative Commons Attribution/Share-Alike License
Load texture data from a PNG file
Cleanup other objects, show only the textured tile