Migrate functions to DataSetTurbo library, other improvements

Migrate random functions to DataSetTurbo (dstRandom.h).

Migrate Matrix, Vector and SIMD math to DataSetTurbo.

Use dynamic array for visible light array.

Various improvements to the Makefile. Fix shared library building.
Use gold linker by default.

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
Update reflecting changes to the vector classes from DataSetTurbo

Update for changes in operators and syntax for the vector classes
defined in DataSetTurbo (e.g. * operator for Vector3D become
pair-wise multiplication, not dot products, which must be calculated
using Dot(x, y)). This makes the operator syntax consistent with
the shader language.

Some just-in-case cautionary changes to bounds.cpp reflecting concerns
about whether sreBaseModel member functions are really const (the changes
are probably unnecessary, because sreBaseModel does not contain the
affected fields, which are only in sreLODModel).

Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
Add ETC1 and RGTC2 versions of normal map texture used in demo1

Add compressed texture versions of the normal mam texture used in
in demo1. For OpenGL, the texture format is signed RGTC2
(BC5_SNORM), while for OpenGL ES 2.0 (KTX file) the format is
ETC1. The KTX file is currently unlikely to be used because
demo1 is compiled with normal mapping disabled for OpenGL ES 2.0.

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