Implemented first draft of Texture and derived Texture2D encapsulation. Next steps are testing if everything actually works and to add a static factory function that creates Texture2Ds from a image filename for convenience.
Added Image class to load image data from files (currently just png using libpng).
Tested the Texture2D class, seems to work :)
Renamed BufferObject::createDataStore to createStorage to better match the Texture classes.