When parsing the attributes attached to a launchStoryboard element, in addition to the colon character (`:`), allow the hyphen character (`-`) to be used as the separator between a template property's name and its type.
Although colon is familiar to Haxe developers as the variable type specifier (e.g. `var i:Int = 0;`), the colon character's expected usage within xml is to separate the local name from the namespace. So usage of colon here could be unexpected, and also causes trouble in formalizing the specification as an xsd.
Retain the ability to parse `:` for backward compatibility.
The previous version was backwards - `native_audio_buffers` would be ignored if defined, and used if not defined. Worse, with all the `!` operators, it was hard to tell.
This implementation tries to fix the error in a way that is easier for a human to check.
Now that `project.workingDirectory` exists, we may as well use it.
I considered adding "${workingDirectory}" as a valid value, to match
"`project.workingDirectory`", but decided to keep changes to a minimum.
See https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2.1 :
If the value is true, context creation will fail if the implementation determines that the performance of the created WebGL context would be dramatically lower than that of a native application making equivalent OpenGL calls. This could happen for a number of reasons, including:
* An implementation might switch to a software rasterizer if the user's GPU driver is known to be unstable.
* An implementation might require reading back the framebuffer from GPU memory to system memory before compositing it with the rest of the page, significantly reducing performance.
Applications that don't require high performance should leave this parameter at its default value of false. Applications that require high performance may set this parameter to true, and if context creation fails then the application may prefer to use a fallback rendering path such as a 2D canvas context. Alternatively the application can retry WebGL context creation with this parameter set to false, with the knowledge that a reduced-fidelity rendering mode should be used to improve performance.