General
Use JS coding conventions, except for the following, use C coding conventions:
- class definitions: like C struct
- variables: like C variables
- field in a class should have m_ prefix
- static public should NOT have g_ prefix
- anon class will be declared like anon function in js
- no getter or setter need for internal classes
- private fields in class must be at start of the class (there is an exception when it is the main class of the file)
- main class (that the file is named after) content should not be indented