GL backend: textures set uniforms -- needs more type info? the constant types are hardcoded to just a few types right now
generalised sampler handling for both gl and d3d
should gamepad come from separate interface than window?
add more window flags
get_camera_view_matrix returns Mat4... should we go hardcore 2D and return Mat3 so you can do mat * Vec3{pos.x, pos.y, 1} for positions and mat * Vec3{dir.x, dir.y, 0} for dirs?
win32: Gamepad support
Should we sort by depth? Maybe we should use Vec3 because some 2D games rely on it?
Textures: Make the sampler state configurable
Textures D3D11: Do we need the SRV in the texture?
Shaders: Reflect and expose samplers
mipmap support
set filtering: for scaling up, down and mipmap
shader.hlsl