Objectives:
- [ ] Use `%typemap` to glue up the return value array pointer with the out argument array length;
- [ ] Use `%extend` to generate constructor functions for common structs, so we can prepare values during struct instance construction call in most script languages, eg. `vec = raylib.Vector2(100,100)`
New objective added:
- [ ] Use `%typemap` to alter functions that passes struct values in params: Convert those params to basic type params(int, float, char* etc.) or script type params(luatable etc.) for better exposure to the script language, by avoiding rapid copying from the script owned object structs to the param structs