Rewrite shadow map shaders and other changes (work-in-progress)

- Use hexadecimal flags for SHADER_LOADING_MASK in Makefile.conf
- Add a new spotlight in demo1 to test spotlight shadows.
- Rewrite shadow map handling in lighting pass shader (with changes
  to uniforms and varying variables) and shadow map generation shaders,
  with optimized depth bias calculation.
- Special handling of shadow maps for  non-closed models with
  directional, beam or spotlights.
- Always use the full range of a spot or beam light for the depth
  range of the shadow map.
- Add sreSetShaderSelection() function, replacing sreSetShaderMask().

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
Improve normal mapping, add signed RGTC2/BC5 texture support

- In lighting pass shaders, always calculate the normal map
  Z-component based on the fact that the magnitude of a normal vector
  is always 1.0. Detect signed normal map textures by assuming that
  when the Z-component is 0.0 (which is the case for two-component
  textures), the components are in signed format.
- Add support for signed RGTC2 (BC5_SNORM) compressed textures and
  support loading of signed RGTC1 and RGTC2 textures from DDS files.
- Add bump mapping (normal map) to sphere in demo10 and add another
  normal-mapped sphere using signed RGTC2 (BC5) texture compression.

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
Fix potential buffer overrun during texture loading

Dynamically allocate storage for filename buffer when detecting
texture file format, fixing potential buffer overruns.

BPTC texture has been tested in demo5 (code commented out).

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
Reorganize shadow mapping (work-in-progress)

Reorganize shadow mapping, do not use projection shadow maps for
spotlights (store distance instead, similar to cube shadow maps).
This makes significant changes to the shadow map shaders and shader
selection, and is work-in-progress.

Use a more accurate determination of projected screen size
(AccurateProjectedSize()).

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>