Fixed a bug that would cause exceptions when setting the shader of a group with a child Light element

- RenderLight doesn't implement the setShader function, and rather than add it (which would lead to confusion
with LightShaders on Light nodes and normal Shaders on group nodes) I added a check instead
Fixed an improper use of Array.splice in RenderLight. Lights should be correctly removed from the scene now
Started working on multi-data.
Further implemented multidata, added aspect implementation.
Renamed multidata to datalist.
Fixed variable spelling error in datalist.
Progress in datalist and multimesh implementation.
First results with datalist / multimesh (successfully rendered result)
Bugfix in datalist for extended subdata sets.
Some fixes + first successful testcase.
datalist fixes + testcases
Added support for "meshTransform" data entry for RenderObjects.

meshTransform can be provided through the Xflow data connected to RenderObjects.
The float4x4 value will me multiplied with the WorldMatrix to further transform the mesh.

As this is renderer independent, this functionality is entirely implemented inside of the RenderObject.
Several changes with respect to transformations

- Moved TransformAdapter from XML3D.webgl to XML3D.data
- Made <mesh> and <multimesh> transformable
- Move transformation handling from group adapter to Transformable
- Also moved shader handling to Transformable
- Added TransformFetcher as an abstract way to access transformations
- Added support to transform SubData
Added pick attribute to datalist and multimesh to filter meshes.
Bugfix with external shader references in datalists.
Relaxed an image comparison of a datalist-multidata test.
Added support for subdata without name.
Bugfix: world space bounding box of RenderObjects was not correctly updated.
Fixed a bug that would cause bounding boxes to be calculated wrong in certain edge cases

- I don't know exactly what causes this to happen since it was only apparent in the COMPASS editor,
but I don't see any harm in setting this flag instead of updating the bounding box right away. It
will be updated automatically during the next getWorldSpaceBoundingBox call anyway.
Changed syntax.

multimesh => model
datalist => asset
subdata => assetdata and assetmesh
subdata.meshtype => assetmesh.type