Added defines _CRT_SECURE_NO_WARNINGS and _SCL_SECURE_NO_WARNINGS
Added xdpi, ydpi methods and operator [](index) to support accessing the pixels of a bitmap using 2-dimensional array syntax, the return type is a random access iterator which has support for the subscript operator.

// new syntax
img[i][j] = x;
//old syntax
img.set_pixel(i, j, x);

Also renamed bit_depth to just simply 'depth'
Added new type pixel_t that will responsible for handling the direct manipulation of individual pixels based on the bpp and number/arrangement of channels (somehow...)
Updated to accomodate for the new pixel_t
Added methods for the individual x and y dpi properties of images instead of just a single value (which is basically based on checking to see if the x and y values are equal and just returning one of them..)
Added a couple new methods to support updates in the implementation of bitmap_impl::bmp, not terribly important.
Started work on the detection mechanism between bmp's and png's (for now) it is very rudimentary but it works.
Update