3D viewer: explicitely define bounding box edges

This makes the the Three.js update easier, because Face4 was removed.
3D viewer: explicitely define floor edges

This makes the Three.js update easier, because Face4 was removed.
3D viewer: improve floor drawing performance

Using buffered geometry is much more efficient than using regular geometry.
Upgrade Three.js to r69

There were some changes in three.js that didn't make this update a
drop-in replacement. Hopefully, all of them are addressed in this
commit. This update is mainly done to have a working SVG renderer at
hand, which is needed for the SVG export of the 3D viewer.
Fix small problem with skeleton source select controls

It sporadically happened that the select control couldn't be
initialized. This usually happened to the 3D viewer and the problem
seems to be that the update code for these selects assumes, that there
is a selection already. This, however, is not always the case. Using the
first element as a fall-back fixes this problem for me.
3D viewer: replace last quads with triangles
3D viewer: update material assignment

From r58 to r59 setMaterial() was removed.