move opengl funcs, texture gen to separate file
move ownership of textures to geometry objects
use C++11 .data() method instead of &vector[0]