This introduces the `viewer::Settings` struct, and a JSON reader / writer. This will be used for automated testing and for client / server communication. Note that `viewer::Settings` is closely associated with the `filament::View` API; when updating the latter we will often need to update the former, as well as some serialization code. This increases the maintenance burden and I think we should consider using a parser library like libclang or a macro-based reflection utility. This PR also migrates SimpleViewer into libs/viewer and un-inlines its implementation. It does not belong in gltfio because it has an imgui dependency.
Important note
The scripts found in the subdirectories are intended to be used by Filament's continuous integration environments only. They are not meant to be run directly. Please refer to our build instructions on how to proceed instead.