Improved texture support

Bind sampler uniforms to units according to user layout
Support for multiple texture formats
Signed-off-by: Aleksi Sapon <QcTechs@gmail.com>