Fixes lights for texturless and colorless objects

-Shader was slightly wrong, so objects without color or texture (so only
using bound color) didn't render with lights.
-Added few getters like d3d_model_has_color, _has_texture, _has_normals
which return wheter the 3D model has these attributes specified. Used in
color setting functions, so draw_set_color() would end batching if the
previous batch didn't have a specified color. Allows things like:
draw_set_color(c_white);
d3d_model_ellipsoid(...);
draw_set_color(c_lime);
d3d_model_ellipsoid(...);
Previously that drawed 2 lime colored ellipsoids, now it will correctly
draw one white and one lime. This is an extension to the color problem
that was dissucesed a year ago -
http://enigma-dev.org/forums/index.php?topic=1375.msg13778#msg13778
-Light enabling and disabling now correctly end batching. Maybe other
light functions should do that too.