* * Fixes that all types that extend Asset should be accessed via the Asset namespace.
* This is technically a breaking change, but only of previously erroneous typings.
* Therefore, along with moving the handful of interfaces that weren't in the Asset namespace into it, I've included another large test script -- face-in-video-controller.ts -- to verify these corrected typings.
* Improves the typing of SceneObject's getComponent and getComponents so the return values are correctly typed if the string passed in is a literal.
* Improves the typing of Component.ScriptComponent so that the script input and api typings are easily defined by extending the SnapchatLensStudio.ScriptInputs and SnapchatLensStudio.ScriptApi interfaces, providing an example of how to do so.
* Documents for the `Pass` interface how to extend it for the various possible Shader Properties, which are not documented as necessarily being available or not on the Pass type in Snapchat's API documentation https://lensstudio.snapchat.com/api/classes/Pass/ in spite of all examples involving it assuming they do exist.
* Restores the `files` tsconfig.json property.
* Fleshes out the following interfaces that were incomplete in @julien-c's initial type definitions (I hadn't noticed till I started using them - and added a test for the same):
* Transform
* Material
* Refactors the existing tests to take advantage of the typing improvements for the Component.ScriptComponent's ScriptInputs and ScriptApi interfaces
* Adding @mhwinkler as an author on this.
* Makes the coords of the vec2, vec3, vec4, quat, and vec4b optional (as they actually are)
* Reverts the last change; those arguments are *not* optional. (It was the MathLib classes that have those optional parameters, not the system ones.)
* Slight comment instructions copy update