various

created variadic template version of unpack
created hash algorithm for pairs
moved rendering code to render.c/h
made sdl texture and surface more RAII style.
window now manags textures better, and caches text textures too
Texture is now an std::function.  renamed sdl_texture files to texture