Switch to Haxe 3 property syntax.

The get_foo syntax also worked in Haxe 3, but since Haxe 2 support is
about to be broken, might as well go with the nicer syntax.
Handle the new bind syntax.
Handle Hash to Map renames.
flambe.util.Hashes → flambe.util.Maps
Handle slight change in Haxe 3's extends/inheritence syntax.
haxe.rtti.Generic → @:generic.

I can't be bothered writing this into convert-haxe3, so it's a manual
edit.
More moved/renamed types.
js.Lib → js.Browser.
@:macro → macro.
ExprRequire → ExprOf.
Modernize the macro magic.
Syntax error fix.
Convert unit tests to Haxe 3.
--dead-code-elimination → -dce full.
Interfaces extend other interfaces instead of implementing them.
More type renames.
Various manual tweaks.
--js-modern is on by default.
Run Travis against Haxe 2.
Retry haxelib downloads when things mess up.

Which is too often.