Add DiffuseMap class
DiffuseMap: Add factory function
Texture: Tweak constructor param names

These names may conflict with IRectangle variables, in such a case where
they become exposed to inheriting classes.
test/crowd: Use DiffuseMap RGBA texture

Transitioning from Texture being the main object used for texture maps to
inheriting classes such as DiffuseMap and (the as of yet uncreated
SpecularMap and NormalMap) classes.