allow closure creation on extern static inline methods (closes #2813)
Revert "do not generate @:enum abstracts if they consist of @:enum fields (closes #2858)"

This reverts commit 2fa5220f7dc7cf278875e7eabf757dfd217dfbdd.
resolved #2855.

$hx_exports initializers are now exploded, with each unique field
assigned with || {} to avoid overwriting any potential existing value.

For -D shallow_expose, the outside declared $hx_exports is similarly
exploded.
Removed needless repetition of string concatenation for $hx_exports
[cpp] Add optimized version of Vector.  Add cpp.NativeArray.setSize
[cpp] Make fake this pointers smart pointers in local blocks.
[cpp] Add STACK_THIS to constructor (thanks zobo)
[cpp] Merge setEventNotificationHandler signature fix - thanks zobo
[cpp] Put spaces inside angle brackets to please gcc
prioritize @:to/@:from over to/from for abstract casts
revert UInt changes
remap `this` after retrieving it from the this_stack because we might be in a closure
add pretty print to JsonPrinter
JsonPrinter do not add pretty newlines for empty objects and arrays
Mention json pretty-printing in CHANGES.txt
[cs] Add proper arguments when add_/remove_ are not events
JsonPrinter: no need for a field for "\n" really
fix toString on abstracts with type parameters (closes #2872)
[java] Added test for #2828
[java] Do not implement / extend erased interfaces and classes. Closes #2828