function isWebGLSupported(options) {
	if (WebGLSupport === -1) {
		let _supported = false;
		try {
			const canvas = globalThis.document.createElement("canvas");
			const ctxOptions = {
				stencil: true,
				failIfMajorPerformanceCaveat: options.failIfMajorPerformanceCaveat,
			};
			_supported = !!(
				globalThis.WebGLRenderingContext &&
				(canvas.getContext("webgl", ctxOptions) ||
					canvas.getContext("experimental-webgl", ctxOptions))
			);
			WebGLSupport = _supported ? 1 : 0;
		} catch {
			WebGLSupport = 0;
		}
	}
	return WebGLSupport === 1;
}
returns true if the device supports WebGL
@memberof device
@param {object} [options] - context creation options
@param {boolean} [options.failIfMajorPerformanceCaveat=true] - If true, the renderer will switch to CANVAS mode if the performances of a WebGL context would be dramatically lower than that of a native application making equivalent OpenGL calls.
@returns {boolean} true if WebGL is supported