Add -D js-es5.

We can generate smaller and faster JS if we don't care about IE8.

Here's the compatibility table:
http://kangax.github.io/es5-compat-table
add support for dates in json serializer
no cast
[cpp] Add hxcpp_api_level to allow backwards compatibility in both haxe and c++ code.  Add additional memory usage statistics
[cpp] Minimise the number of calls to super when marking/visiting.  Mark appropriate objects as having no external references.
make the `replacer` argument for JsonPrinter.print optional.
Merge pull request #2669 from HaxeFoundation/js-es5

Add -D js-es5.
respect windows \ paths in Path.normalize
change Path.join to accept an Array<String>
move date compare lower on checks
Merge pull request #2680 from Blank101/jsondate

Add support for dates in json serializer
Inline JS Math fields and methods.

Also add a few additional escaped words, so stuff like this will no
longer blow up after inlining:

    var JSON = 666;
    haxe.Json.parse("");

Closes #1666.
[cs] Override native properties
[cs] generate delegate abstract
[cs] delegates: a little cleanup - do not mess with @:coreType
[cs] WIP - delegates
[cs] delegates - WIP
[cs] Delegates working when convertion function can be avoided
[cs] Automtic conversion function when needed. Closes #916
[cs] WIP - replicate all delegate fields