refactor core/append to inject transform & enforce string IDs, update/simplify callsites, remove obsolete opts arg from material-null, bugfix filenames & meshname for area-light, ply-mesh, stl-mesh, shape-disk
remove logging
refactor serialize-scene, add export-scene, remove logging

serialize-scene now only handles serialization and returns map of components
export-scene used to write files/components (or deal with components otherwise via optional handler fn)
update test scene & readme
update readme
refactor mesh serialization to be customized, add scene config with mesh-streamer & mesh-collector fns, add export-archived-scene, file-mesh-stream, configure-meshes-as-byte-arrays

add PAsByteArray protocol and implement for String/ByteArrayOutputStream
default lux-scene retains existing behavior via default file-mesh-stream as mesh-streamer fn
configure-meshes-as-byte-arrays configures scene to collect meshes into ByteArrayStreams which are only exported via export-scene or export-archived-scene
export-archived-scene creates zip file of all scene components (and collected meshes)
update test scene to serialize meshes as byte arrays and additionally export scene as zip
update test scene & readme