Support property name conventions in per-type JsConfig<T>

I needed to customise JSON property names on a per-type basis, but the `EmitCamelCaseNames` property on `JsConfig<T>` was being ignored. I'm specifically interested in `EmitLowercaseUnderscoreNames` so also added this.

I have no idea if this fix is correct, or how to write a specific test for it, but it works and doesn't break anything. If it can be improved, please let me know.